<intrinsics_list version="3.6.9" date="07/12/2024">
<intrinsic name="_addcarryx_u32" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="unsigned char" varname="c_in" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<parameter etype="UI32" memwidth="32" type="unsigned int *" varname="out" />
	<description>Add unsigned 32-bit integers "a" and "b" with unsigned 8-bit carry-in "c_in" (carry or overflow flag), and store the unsigned 32-bit result in "out", and the carry-out in "dst" (carry or overflow flag).</description>
	<operation>
tmp[32:0] := a[31:0] + b[31:0] + (c_in &gt; 0 ? 1 : 0)
MEM[out+31:out] := tmp[31:0]
dst[0] := tmp[32]
dst[7:1] := 0
	</operation>
	<instruction form="r32, r32" name="ADCX" xed="ADCX_GPR32d_GPR32d" />
	<instruction form="r32, r32" name="ADOX" xed="ADOX_GPR32d_GPR32d" />
	<CPUID>ADX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_addcarryx_u64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="unsigned char" varname="c_in" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<parameter etype="UI64" memwidth="64" type="unsigned __int64 *" varname="out" />
	<description>Add unsigned 64-bit integers "a" and "b" with unsigned 8-bit carry-in "c_in" (carry or overflow flag), and store the unsigned 64-bit result in "out", and the carry-out in "dst" (carry or overflow flag).</description>
	<operation>
tmp[64:0] := a[63:0] + b[63:0] + (c_in &gt; 0 ? 1 : 0)
MEM[out+63:out] := tmp[63:0]
dst[0] := tmp[64]
dst[7:1] := 0
	</operation>
	<instruction form="r64, r64" name="ADCX" xed="ADCX_GPR64q_GPR64q" />
	<instruction form="r64, r64" name="ADOX" xed="ADOX_GPR64q_GPR64q" />
	<CPUID>ADX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
<intrinsic name="_mm_aesenc_si128" vexEq="TRUE" tech="Other">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="RoundKey" />
	<description>Perform one round of an AES encryption flow on data (state) in "a" using the round key in "RoundKey", and store the result in "dst"."</description>
	<operation>a[127:0] := ShiftRows(a[127:0])
a[127:0] := SubBytes(a[127:0])
a[127:0] := MixColumns(a[127:0])
dst[127:0] := a[127:0] XOR RoundKey[127:0]
	</operation>
	<instruction form="xmm, xmm" name="AESENC" xed="AESENC_XMMdq_XMMdq" />
	<CPUID>AES</CPUID>
	<header>wmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesenclast_si128" vexEq="TRUE" tech="Other">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="RoundKey" />
	<description>Perform the last round of an AES encryption flow on data (state) in "a" using the round key in "RoundKey", and store the result in "dst"."</description>
	<operation>a[127:0] := ShiftRows(a[127:0])
a[127:0] := SubBytes(a[127:0])
dst[127:0] := a[127:0] XOR RoundKey[127:0]
	</operation>
	<instruction form="xmm, xmm" name="AESENCLAST" xed="AESENCLAST_XMMdq_XMMdq" />
	<CPUID>AES</CPUID>
	<header>wmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesdec_si128" vexEq="TRUE" tech="Other">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="RoundKey" />
	<description>Perform one round of an AES decryption flow on data (state) in "a" using the round key in "RoundKey", and store the result in "dst".</description>
	<operation>a[127:0] := InvShiftRows(a[127:0])
a[127:0] := InvSubBytes(a[127:0])
a[127:0] := InvMixColumns(a[127:0])
dst[127:0] := a[127:0] XOR RoundKey[127:0]
	</operation>
	<instruction form="xmm, xmm" name="AESDEC" xed="AESDEC_XMMdq_XMMdq" />
	<CPUID>AES</CPUID>
	<header>wmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesdeclast_si128" vexEq="TRUE" tech="Other">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="RoundKey" />
	<description>Perform the last round of an AES decryption flow on data (state) in "a" using the round key in "RoundKey", and store the result in "dst".</description>
	<operation>a[127:0] := InvShiftRows(a[127:0])
a[127:0] := InvSubBytes(a[127:0])
dst[127:0] := a[127:0] XOR RoundKey[127:0]
	</operation>
	<instruction form="xmm, xmm" name="AESDECLAST" xed="AESDECLAST_XMMdq_XMMdq" />
	<CPUID>AES</CPUID>
	<header>wmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesimc_si128" vexEq="TRUE" tech="Other">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Perform the InvMixColumns transformation on "a" and store the result in "dst".</description>
	<operation>dst[127:0] := InvMixColumns(a[127:0])
	</operation>
	<instruction form="xmm, xmm" name="AESIMC" xed="AESIMC_XMMdq_XMMdq" />
	<CPUID>AES</CPUID>
	<header>wmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aeskeygenassist_si128" vexEq="TRUE" tech="Other">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Assist in expanding the AES cipher key by computing steps towards generating a round key for encryption cipher using data from "a" and an 8-bit round constant specified in "imm8", and store the result in "dst"."</description>
	<operation>X3[31:0] := a[127:96]
X2[31:0] := a[95:64]
X1[31:0] := a[63:32]
X0[31:0] := a[31:0]
RCON[31:0] := ZeroExtend32(imm8[7:0])
dst[31:0] := SubWord(X1)
dst[63:32] := RotWord(SubWord(X1)) XOR RCON
dst[95:64] := SubWord(X3)
dst[127:96] := RotWord(SubWord(X3)) XOR RCON
	</operation>
	<instruction form="xmm, xmm, imm8" name="AESKEYGENASSIST" xed="AESKEYGENASSIST_XMMdq_XMMdq_IMMb" />
	<CPUID>AES</CPUID>
	<header>wmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	
	
<intrinsic name="_tile_dpbf16ps" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="dst" />
	<parameter type="constexpr int" varname="a" />
	<parameter type="constexpr int" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in tiles "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "dst", and store the 32-bit result back to tile "dst".</description>
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(a.row[m].bf16[2*k+0]) * FP32(b.row[k].bf16[2*n+0])
			tmp.fp32[n] += FP32(a.row[m].bf16[2*k+1]) * FP32(b.row[k].bf16[2*n+1])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, tmm, tmm" name="TDPBF16PS" xed="TDPBF16PS_TMMf32_TMMu32_TMMu32" />
	<CPUID>AMX-BF16</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_dpbf16ps" tech="AMX">
	<return type="void" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in tiles "src0" and "src1", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "dst", and store the 32-bit result back to tile "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, tmm, tmm" name="TDPBF16PS" xed="TDPBF16PS_TMMf32_TMMu32_TMMu32" />
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(src0.row[m].bf16[2*k+0]) * FP32(src1.row[k].bf16[2*n+0])
			tmp.fp32[n] += FP32(src0.row[m].bf16[2*k+1]) * FP32(src1.row[k].bf16[2*n+1])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-BF16</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
<intrinsic name="_tile_cmmimfp16ps" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" etype="FP32" varname="dst" />
	<parameter type="constexpr int" etype="FP16" varname="a" />
	<parameter type="constexpr int" etype="FP16" varname="b" />
	<description>Perform matrix multiplication of two tiles containing complex elements and accumulate the results into a packed single precision tile. Each dword element in input tiles "a" and "b" is interpreted as a complex number with FP16 real part and FP16 imaginary part. Calculates the imaginary part of the result. For each possible combination of (row of "a", column of "b"), it performs a set of multiplication and accumulations on all corresponding complex numbers (one from "a" and one from "b"). The imaginary part of the "a" element is multiplied with the real part of the corresponding "b" element, and the real part of the "a" element is multiplied with the imaginary part of the corresponding "b" elements. The two accumulated results are added, and then accumulated into the corresponding row and column of "dst".</description>
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+1])
			tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+0])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, tmm, tmm" name="TCMMIMFP16PS" xed="TCMMIMFP16PS_TMMf32_TMMf16_TMMf16" />
	<CPUID>AMX-COMPLEX</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_cmmrlfp16ps" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" etype="FP32" varname="dst" />
	<parameter type="constexpr int" etype="FP16" varname="a" />
	<parameter type="constexpr int" etype="FP16" varname="b" />
	<description>Perform matrix multiplication of two tiles containing complex elements and accumulate the results into a packed single precision tile. Each dword element in input tiles "a" and "b" is interpreted as a complex number with FP16 real part and FP16 imaginary part. Calculates the real part of the result. For each possible combination of (row of "a", column of "b"), it performs a set of multiplication and accumulations on all corresponding complex numbers (one from "a" and one from "b"). The real part of the "a" element is multiplied with the real part of the corresponding "b" element, and the negated imaginary part of the "a" element is multiplied with the imaginary part of the corresponding "b" elements. The two accumulated results are added, and then accumulated into the corresponding row and column of "dst".</description>
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+0])
			tmp.fp32[n] += FP32(-a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+1])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<instruction form="tmm, tmm, tmm" name="TCMMRLFP16PS" xed="TCMMRLFP16PS_TMMf32_TMMf16_TMMf16" />
	<CPUID>AMX-COMPLEX</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_cmmimfp16ps" tech="AMX">
	<return type="void" />
	<description>Perform matrix multiplication of two tiles containing complex elements and accumulate the results into a packed single precision tile. Each dword element in input tiles "src0" and "src1" is interpreted as a complex number with FP16 real part and FP16 imaginary part. This function calculates the imaginary part of the result.</description>
	<instruction form="tmm, tmm, tmm" name="TCMMIMFP16PS" xed="TCMMIMFP16PS_TMMf32_TMMf16_TMMf16" />
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(src0.row[m].fp16[2*k+0]) * FP32(src1.row[k].fp16[2*n+1])
			tmp.fp32[n] += FP32(src0.row[m].fp16[2*k+1]) * FP32(src1.row[k].fp16[2*n+0])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-COMPLEX</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_cmmrlfp16ps" tech="AMX">
	<return type="void" />
	<description>Perform matrix multiplication of two tiles containing complex elements and accumulate the results into a packed single precision tile. Each dword element in input tiles src0 and src1 is interpreted as a complex number with FP16 real part and FP16 imaginary part. This function calculates the real part of the result.</description>
	<instruction form="tmm, tmm, tmm" name="TCMMRLFP16PS" xed="TCMMRLFP16PS_TMMf32_TMMf16_TMMf16" />
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(src0.row[m].fp16[2*k+0]) * FP32(src1.row[k].fp16[2*n+0])
			tmp.fp32[n] += FP32(-src0.row[m].fp16[2*k+1]) * FP32(src1.row[k].fp16[2*n+1])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-COMPLEX</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
<intrinsic name="_tile_dpfp16ps" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" etype="FP32" varname="dst" />
	<parameter type="constexpr int" etype="FP16" varname="a" />
	<parameter type="constexpr int" etype="FP16" varname="b" />
	<description>Compute dot-product of FP16 (16-bit) floating-point pairs in tiles "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "dst", and store the 32-bit result back to tile "dst".</description>
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+0])
			tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+1])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, tmm, tmm" name="TDPFP16PS" xed="TDPFP16PS_TMMf32_TMM2f16_TMM2f16" />
	<CPUID>AMX-FP16</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_dpfp16ps" tech="AMX">
	<return type="void" />
	<description>Compute dot-product of FP16 (16-bit) floating-point pairs in tiles "src0" and "src1", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "dst", and store the 32-bit result back to tile "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, tmm, tmm" name="TDPBF16PS" xed="TDPBF16PS_TMMf32_TMMu32_TMMu32" />
	<operation>FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.fp32[n] += FP32(src0.row[m].fp16[2*k+0]) * FP32(src1.row[k].fp16[2*n+0])
			tmp.fp32[n] += FP32(src0.row[m].fp16[2*k+1]) * FP32(src1.row[k].fp16[2*n+1])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-FP16</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
<intrinsic name="_tile_dpbsud" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="dst" />
	<parameter type="constexpr int" varname="a" />
	<parameter type="constexpr int" varname="b" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of signed 8-bit integers in "a" with corresponding unsigned 8-bit integers in "b", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst".</description>
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := SignExtend32(x.byte[0]) * ZeroExtend32(y.byte[0])
	tmp2 := SignExtend32(x.byte[1]) * ZeroExtend32(y.byte[1])
	tmp3 := SignExtend32(x.byte[2]) * ZeroExtend32(y.byte[2])
	tmp4 := SignExtend32(x.byte[3]) * ZeroExtend32(y.byte[3])
	
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], a.row[m].dword[k], b.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, tmm, tmm" name="TDPBSUD" xed="TDPBSUD_TMMi32_TMMu32_TMMu32" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_dpbusd" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="dst" />
	<parameter type="constexpr int" varname="a" />
	<parameter type="constexpr int" varname="b" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst".</description>
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := ZeroExtend32(x.byte[0]) * SignExtend32(y.byte[0])
	tmp2 := ZeroExtend32(x.byte[1]) * SignExtend32(y.byte[1])
	tmp3 := ZeroExtend32(x.byte[2]) * SignExtend32(y.byte[2])
	tmp4 := ZeroExtend32(x.byte[3]) * SignExtend32(y.byte[3])
	
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], a.row[m].dword[k], b.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, tmm, tmm" name="TDPBUSD" xed="TDPBUSD_TMMi32_TMMu32_TMMu32" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_dpbuud" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="dst" />
	<parameter type="constexpr int" varname="a" />
	<parameter type="constexpr int" varname="b" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding unsigned 8-bit integers in "b", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst".</description>
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := ZeroExtend32(x.byte[0]) * ZeroExtend32(y.byte[0])
	tmp2 := ZeroExtend32(x.byte[1]) * ZeroExtend32(y.byte[1])
	tmp3 := ZeroExtend32(x.byte[2]) * ZeroExtend32(y.byte[2])
	tmp4 := ZeroExtend32(x.byte[3]) * ZeroExtend32(y.byte[3])
	
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], a.row[m].dword[k], b.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, tmm, tmm" name="TDPBUUD" xed="TDPBUUD_TMMu32_TMMu32_TMMu32" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_dpbssd" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="dst" />
	<parameter type="constexpr int" varname="a" />
	<parameter type="constexpr int" varname="b" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of signed 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst".</description>
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := SignExtend32(x.byte[0]) * SignExtend32(y.byte[0])
	tmp2 := SignExtend32(x.byte[1]) * SignExtend32(y.byte[1])
	tmp3 := SignExtend32(x.byte[2]) * SignExtend32(y.byte[2])
	tmp4 := SignExtend32(x.byte[3]) * SignExtend32(y.byte[3])
	
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (a.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], a.row[m].dword[k], b.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, tmm, tmm" name="TDPBSSD" xed="TDPBSSD_TMMi32_TMMu32_TMMu32" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_dpbssd" tech="AMX">
	<return type="void" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of signed 8-bit integers in "src0" with corresponding signed 8-bit integers in "src1", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, tmm, tmm" name="TDPBSSD" xed="TDPBSSD_TMMi32_TMMu32_TMMu32" />
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := SignExtend32(x.byte[0]) * SignExtend32(y.byte[0])
	tmp2 := SignExtend32(x.byte[1]) * SignExtend32(y.byte[1])
	tmp3 := SignExtend32(x.byte[2]) * SignExtend32(y.byte[2])
	tmp4 := SignExtend32(x.byte[3]) * SignExtend32(y.byte[3])
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], src0.row[m].dword[k], src1.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_dpbsud" tech="AMX">
	<return type="void" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of signed 8-bit integers in "src0" with corresponding unsigned 8-bit integers in "src1", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, tmm, tmm" name="TDPBSUD" xed="TDPBSUD_TMMi32_TMMu32_TMMu32" />
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := SignExtend32(x.byte[0]) * ZeroExtend32(y.byte[0])
	tmp2 := SignExtend32(x.byte[1]) * ZeroExtend32(y.byte[1])
	tmp3 := SignExtend32(x.byte[2]) * ZeroExtend32(y.byte[2])
	tmp4 := SignExtend32(x.byte[3]) * ZeroExtend32(y.byte[3])
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], src0.row[m].dword[k], src1.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_dpbusd" tech="AMX">
	<return type="void" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "src0" with corresponding signed 8-bit integers in "src1", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, tmm, tmm" name="TDPBUSD" xed="TDPBUSD_TMMi32_TMMu32_TMMu32" />
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := ZeroExtend32(x.byte[0]) * SignExtend32(y.byte[0])
	tmp2 := ZeroExtend32(x.byte[1]) * SignExtend32(y.byte[1])
	tmp3 := ZeroExtend32(x.byte[2]) * SignExtend32(y.byte[2])
	tmp4 := ZeroExtend32(x.byte[3]) * SignExtend32(y.byte[3])
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], src0.row[m].dword[k], src1.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_dpbuud" tech="AMX">
	<return type="void" />
	<description>Compute dot-product of bytes in tiles with a source/destination accumulator. Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "src0" with corresponding unsigned 8-bit integers in "src1", producing 4 intermediate 32-bit results. Sum these 4 results with the corresponding 32-bit integer in "dst", and store the 32-bit result back to tile "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, tmm, tmm" name="TDPBUUD" xed="TDPBUUD_TMMu32_TMMu32_TMMu32" />
	<operation>DEFINE DPBD(c, x, y) {
	tmp1 := ZeroExtend32(x.byte[0]) * ZeroExtend32(y.byte[0])
	tmp2 := ZeroExtend32(x.byte[1]) * ZeroExtend32(y.byte[1])
	tmp3 := ZeroExtend32(x.byte[2]) * ZeroExtend32(y.byte[2])
	tmp4 := ZeroExtend32(x.byte[3]) * ZeroExtend32(y.byte[3])
	RETURN c + tmp1 + tmp2 + tmp3 + tmp4
}
FOR m := 0 TO dst.rows - 1
	tmp := dst.row[m]
	FOR k := 0 TO (src0.colsb / 4) - 1
		FOR n := 0 TO (dst.colsb / 4) - 1
			tmp.dword[n] := DPBD(tmp.dword[n], src0.row[m].dword[k], src1.row[k].dword[n])
		ENDFOR
	ENDFOR
	write_row_and_zero(dst, m, tmp, dst.colsb)
ENDFOR
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="__tile1024i" varname="src0" />
	<parameter type="__tile1024i" varname="src1" />
	<CPUID>AMX-INT8</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
<intrinsic name="_tile_loadconfig" tech="AMX">
	<return type="void" />
	<parameter memwidth="512" type="const void *" varname="mem_addr" />
	<description>Load tile configuration from a 64-byte memory location specified by "mem_addr". The tile configuration format is specified below, and includes the tile type pallette, the number of bytes per row, and the number of rows. If the specified pallette_id is zero, that signifies the init state for both the tile config and the tile data, and the tiles are zeroed. Any invalid configurations will result in #GP fault.</description>
	<operation>
//	format of memory payload. each field is a byte.
//		 0: palette
//		 1: start_row
//	 2-15: reserved, must be zero
//	16-17: tile0.colsb
//	18-19: tile1.colsb
//	20-21: tile2.colsb
//			...
//	30-31: tile7.colsb
//	32-47: reserved, must be zero
//		48: tile0.rows
//		49: tile1.rows
//		50: tile2.rows
//			 ...
//		55: tile7.rows
//	56-63: reserved, must be zero
	</operation>
	<instruction form="m512" name="LDTILECFG" xed="LDTILECFG_MEM" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_storeconfig" tech="AMX">
	<return type="void" />
	<parameter memwidth="512" type="void *" varname="mem_addr" />
	<description>Stores the current tile configuration to a 64-byte memory location specified by "mem_addr". The tile configuration format is specified below, and includes the tile type pallette, the number of bytes per row, and the number of rows. If tiles are not configured, all zeroes will be stored to memory.</description>
	<operation>
//	format of memory payload. each field is a byte.
//		 0: palette
//		 1: start_row
//	 2-15: reserved, must be zero
//	16-17: tile0.colsb
//	18-19: tile1.colsb
//	20-21: tile2.colsb
//			...
//	30-31: tile7.colsb
//	32-47: reserved, must be zero
//		48: tile0.rows
//		49: tile1.rows
//		50: tile2.rows
//			 ...
//		55: tile7.rows
//	56-63: reserved, must be zero
	</operation>
	<instruction form="m512" name="STTILECFG" xed="STTILECFG_MEM" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_loadd" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="dst" />
	<parameter type="const void *" varname="base" />
	<parameter etype="UI32" type="size_t" varname="stride" />
	<description>Load tile rows from memory specifieid by "base" address and "stride" into destination tile "dst" using the tile configuration previously configured via "_tile_loadconfig".</description>
	<operation>start := tileconfig.startRow
IF start == 0 // not restarting, zero incoming state
	tilezero(dst)
FI
nbytes := dst.colsb
DO WHILE start &lt; dst.rows
	memptr := base + start * stride
	write_row_and_zero(dst, start, read_memory(memptr, nbytes), nbytes)
	start := start + 1
OD
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, sibmem" name="TILELOADD" xed="TILELOADD_TMMu32_MEMu32" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_stream_loadd" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="dst" />
	<parameter type="const void *" varname="base" />
	<parameter etype="UI32" type="size_t" varname="stride" />
	<description>Load tile rows from memory specifieid by "base" address and "stride" into destination tile "dst" using the tile configuration previously configured via "_tile_loadconfig". This intrinsic provides a hint to the implementation that the data will likely not be reused in the near future and the data caching can be optimized accordingly.</description>
	<operation>start := tileconfig.startRow
IF start == 0 // not restarting, zero incoming state
	tilezero(dst)
FI
nbytes := dst.colsb
DO WHILE start &lt; dst.rows
	memptr := base + start * stride
	write_row_and_zero(dst, start, read_memory(memptr, nbytes), nbytes)
	start := start + 1
OD
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
	</operation>
	<instruction form="tmm, sibmem" name="TILELOADDT1" xed="TILELOADDT1_TMMu32_MEMu32" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_release" tech="AMX">
	<return type="void" />
	<description>Release the tile configuration to return to the init state, which releases all storage it currently holds.</description>
	<instruction name="TILERELEASE" xed="TILERELEASE" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_stored" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="src" />
	<parameter type="void *" varname="base" />
	<parameter etype="UI32" type="size_t" varname="stride" />
	<description>Store the tile specified by "src" to memory specifieid by "base" address and "stride" using the tile configuration previously configured via "_tile_loadconfig".</description>
	<operation>start := tileconfig.startRow
DO WHILE start &lt; src.rows
	memptr := base + start * stride
	write_memory(memptr, src.colsb, src.row[start])
	start := start + 1
OD
zero_tileconfig_start()
	</operation>
	<instruction form="sibmem, tmm" name="TILESTORED" xed="TILESTORED_MEMu32_TMMu32" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="_tile_zero" tech="AMX">
	<return type="void" />
	<parameter type="constexpr int" varname="tdest" />
	<description>Zero the tile specified by "tdest".</description>
	<operation>nbytes := palette_table[tileconfig.palette_id].bytes_per_row
FOR i := 0 TO palette_table[tileconfig.palette_id].max_rows-1
	FOR j := 0 TO nbytes-1
		tdest.row[i].byte[j] := 0
	ENDFOR
ENDFOR
	</operation>
	<instruction form="tmm" name="TILEZERO" xed="TILEZERO_TMMu32" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_loadd" tech="AMX">
	<return type="void" />
	<description>Load tile rows from memory specifieid by "base" address and "stride" into destination tile "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, sibmem" name="TILELOADD" xed="TILELOADD_TMMu32_MEMu32" />
	<operation>start := tileconfig.startRow
IF start == 0 // not restarting, zero incoming state
	tilezero(dst)
FI
nbytes := dst.colsb
DO WHILE start &lt; dst.rows
	memptr := base + start * stride
	write_row_and_zero(dst, start, read_memory(memptr, nbytes), nbytes)
	start := start + 1
OD
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="const void*" varname="base" />
	<parameter type="size_t" varname="stride" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_stored" tech="AMX">
	<return type="void" />
	<description>Store the tile specified by "src" to memory specifieid by "base" address and "stride". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="sibmem, tmm" name="TILESTORED" xed="TILESTORED_MEMu32_TMMu32" />
	<operation>start := tileconfig.startRow
DO WHILE start &lt; src.rows
	memptr := base + start * stride
	write_memory(memptr, src.colsb, src.row[start])
	start := start + 1
OD
zero_tileconfig_start()
</operation>
	<parameter type="void*" varname="base" />
	<parameter type="size_t" varname="stride" />
	<parameter type="__tile1024i" varname="src" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_stream_loadd" tech="AMX">
	<return type="void" />
	<description>Load tile rows from memory specifieid by "base" address and "stride" into destination tile "dst". This intrinsic provides a hint to the implementation that the data will likely not be reused in the near future and the data caching can be optimized accordingly. The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm, sibmem" name="TILELOADDT1" xed="TILELOADDT1_TMMu32_MEMu32" />
	<operation>start := tileconfig.startRow
IF start == 0 // not restarting, zero incoming state
	tilezero(dst)
FI
nbytes := dst.colsb
DO WHILE start &lt; dst.rows
	memptr := base + start * stride
	write_row_and_zero(dst, start, read_memory(memptr, nbytes), nbytes)
	start := start + 1
OD
zero_upper_rows(dst, dst.rows)
zero_tileconfig_start()
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<parameter type="const void*" varname="base" />
	<parameter type="size_t" varname="stride" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	<intrinsic name="__tile_zero" tech="AMX">
	<return type="void" />
	<description>Zero the tile specified by "dst". The shape of tile is specified in the struct of __tile1024i. The register of the tile is allocated by compiler.</description>
	<instruction form="tmm" name="TILEZERO" xed="TILEZERO_TMMu32" />
	<operation>nbytes := palette_table[tileconfig.palette_id].bytes_per_row
FOR i := 0 TO palette_table[tileconfig.palette_id].max_rows-1
	FOR j := 0 TO nbytes-1
		tdest.row[i].byte[j] := 0
	ENDFOR
ENDFOR
</operation>
	<parameter type="__tile1024i*" varname="dst" />
	<CPUID>AMX-TILE</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
<intrinsic name="_mm256_acos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse cosine of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ACOS(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_acos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ACOS(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_acosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ACOSH(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_acosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ACOSH(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_asin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ASIN(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_asin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ASIN(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_asinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ASINH(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_asinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ASINH(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_atan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ATAN(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_atan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ATAN(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_atan2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ATAN2(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_atan2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ATAN2(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_atanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ATANH(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_atanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse hyperbolic tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ATANH(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_cos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := COS(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_cos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := COS(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_cosd_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := COSD(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_cosd_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := COSD(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_cosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := COSH(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_cosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := COSH(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_hypot_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SQRT(POW(a[i+63:i], 2.0) + POW(b[i+63:i], 2.0))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_hypot_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SQRT(POW(a[i+31:i], 2.0) + POW(b[i+31:i], 2.0))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SIN(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SIN(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sincos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" memwidth="256" type="__m256d *" varname="mem_addr" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the sine and cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SIN(a[i+63:i])
	MEM[mem_addr+i+63:mem_addr+i] := COS(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sincos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" memwidth="256" type="__m256 *" varname="mem_addr" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the sine and cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SIN(a[i+31:i])
	MEM[mem_addr+i+31:mem_addr+i] := COS(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sind_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SIND(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sind_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SIND(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SINH(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_sinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SINH(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_tan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := TAN(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_tan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := TAN(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_tand_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := TAND(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_tand_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := TAND(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_tanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := TANH(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_tanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the hyperbolic tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := TANH(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm256_cbrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the cube root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := CubeRoot(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_cbrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the cube root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := CubeRoot(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_cexp_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed complex numbers in "a", and store the complex results in "dst". Each complex number is composed of two adjacent single-precision (32-bit) floating-point elements, which defines the complex number "complex = vec.fp32[0] + i * vec.fp32[1]".</description>
	<operation>
DEFINE CEXP(a[31:0], b[31:0]) {
	result[31:0]  := POW(FP32(e), a[31:0]) * COS(b[31:0])
	result[63:32] := POW(FP32(e), a[31:0]) * SIN(b[31:0])
	RETURN result
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := CEXP(a[i+31:i], a[i+63:i+32])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_clog_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the natural logarithm of packed complex numbers in "a", and store the complex results in "dst". Each complex number is composed of two adjacent single-precision (32-bit) floating-point elements, which defines the complex number "complex = vec.fp32[0] + i * vec.fp32[1]".</description>
	<operation>
DEFINE CLOG(a[31:0], b[31:0]) {
	result[31:0]  := LOG(SQRT(POW(a, 2.0) + POW(b, 2.0)))
	result[63:32] := ATAN2(b, a)
	RETURN result
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := CLOG(a[i+31:i], a[i+63:i+32])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_csqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the square root of packed complex snumbers in "a", and store the complex results in "dst". Each complex number is composed of two adjacent single-precision (32-bit) floating-point elements, which defines the complex number "complex = vec.fp32[0] + i * vec.fp32[1]".</description>
	<operation>
DEFINE CSQRT(a[31:0], b[31:0]) {
	sign[31:0] := (b &lt; 0.0) ? -FP32(1.0) : FP32(1.0)
	result[31:0]  := SQRT((a + SQRT(POW(a, 2.0) + POW(b, 2.0))) / 2.0)
	result[63:32] := sign * SQRT((-a + SQRT(POW(a, 2.0) + POW(b, 2.0))) / 2.0)
	RETURN result
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := CSQRT(a[i+31:i], a[i+63:i+32])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_exp_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := POW(e, a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_exp_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := POW(FP32(e), a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_exp10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := POW(10.0, a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_exp10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := POW(FP32(10.0), a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_exp2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := POW(2.0, a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_exp2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := POW(FP32(2.0), a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_expm1_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := POW(e, a[i+63:i]) - 1.0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_expm1_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := POW(FP32(e), a[i+31:i]) - 1.0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_invcbrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse cube root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := InvCubeRoot(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_invcbrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse cube root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := InvCubeRoot(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_invsqrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := InvSQRT(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_invsqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := InvSQRT(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the natural logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the natural logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the base-10 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i]) / LOG(10.0)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the base-10 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i]) / LOG(10.0)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log1p_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the natural logarithm of one plus packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := LOG(1.0 + a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log1p_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the natural logarithm of one plus packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := LOG(1.0 + a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the base-2 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i]) / LOG(2.0)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_log2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the base-2 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i]) / LOG(2.0)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_logb_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ConvertExpFP64(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_logb_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ConvertExpFP32(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_pow_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the exponential value of packed double-precision (64-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := POW(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_pow_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the exponential value of packed single-precision (32-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := POW(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_sqrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". Note that this intrinsic is less efficient than "_mm_sqrt_pd".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SQRT(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_sqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". Note that this intrinsic is less efficient than "_mm_sqrt_ps".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SQRT(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_cdfnorm_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := CDFNormal(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_cdfnorm_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := CDFNormal(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_cdfnorminv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := InverseCDFNormal(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_cdfnorminv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := InverseCDFNormal(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erf_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ERF(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erf_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ERF(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erfc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := 1.0 - ERF(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erfc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+63:i] := 1.0 - ERF(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erfcinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+63:i]))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erfcinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+31:i]))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erfinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the inverse error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := 1.0 / ERF(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_erfinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the inverse error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+63:i] := 1.0 / ERF(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epi8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Divide packed signed 8-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := 8*j
	IF b[i+7:i] == 0
		#DE
	FI
	dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epi16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Divide packed signed 16-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	IF b[i+15:i] == 0
		#DE
	FI
	dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Divide packed signed 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF b[i+31:i] == 0
		#DE
	FI
	dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epi64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Divide packed signed 64-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	IF b[i+63:i] == 0
		#DE
	FI
	dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epu8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Divide packed unsigned 8-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := 8*j
	IF b[i+7:i] == 0
		#DE
	FI
	dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epu16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Divide packed unsigned 16-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	IF b[i+15:i] == 0
		#DE
	FI
	dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF b[i+31:i] == 0
		#DE
	FI
	dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_epu64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Divide packed unsigned 64-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	IF b[i+63:i] == 0
		#DE
	FI
	dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_idiv_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_idivrem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" memwidth="256" type="__m256i *" varname="mem_addr" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", store the truncated results in "dst", and store the remainders as packed 32-bit integers into memory at "mem_addr".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
	MEM[mem_addr+i+31:mem_addr+i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_irem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epi8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Divide packed 8-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 31
	i := 8*j
	dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epi16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Divide packed 16-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 15
	i := 16*j
	dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epi64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Divide packed 64-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 64*j
	dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epu8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Divide packed unsigned 8-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 31
	i := 8*j
	dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epu16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Divide packed unsigned 16-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 15
	i := 16*j
	dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rem_epu64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Divide packed unsigned 64-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 64*j
	dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_udiv_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_udivrem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" memwidth="256" type="__m256i *" varname="mem_addr" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", store the truncated results in "dst", and store the remainders as packed unsigned 32-bit integers into memory at "mem_addr".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
	MEM[mem_addr+i+31:mem_addr+i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_urem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_ceil_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" up to an integer value, and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := CEIL(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_ceil_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" up to an integer value, and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := CEIL(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_floor_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" down to an integer value, and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := FLOOR(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_floor_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" down to an integer value, and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := FLOOR(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_round_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ROUND(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_svml_round_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ROUND(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_trunc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Truncate the packed double-precision (64-bit) floating-point elements in "a", and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := TRUNCATE(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_trunc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Truncate the packed single-precision (32-bit) floating-point elements in "a", and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := TRUNCATE(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_add_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] + b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VADDPD" xed="VADDPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_add_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VADDPS" xed="VADDPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_addsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Alternatively add and subtract packed double-precision (64-bit) floating-point elements in "a" to/from packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF ((j &amp; 1) == 0)
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VADDSUBPD" xed="VADDSUBPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_addsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Alternatively add and subtract packed single-precision (32-bit) floating-point elements in "a" to/from packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF ((j &amp; 1) == 0)
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VADDSUBPS" xed="VADDSUBPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	dst[i+63:i] := a[i+63:i] / b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VDIVPD" xed="VDIVPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := a[i+31:i] / b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VDIVPS" xed="VDIVPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dp_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Conditionally multiply the packed single-precision (32-bit) floating-point elements in "a" and "b" using the high 4 bits in "imm8", sum the four products, and conditionally store the sum in "dst" using the low 4 bits of "imm8".</description>
	<operation>
DEFINE DP(a[127:0], b[127:0], imm8[7:0]) {
	FOR j := 0 to 3
		i := j*32
		IF imm8[(4+j)%8]
			temp[i+31:i] := a[i+31:i] * b[i+31:i]
		ELSE
			temp[i+31:i] := FP32(0.0)
		FI
	ENDFOR
	
	sum[31:0] := (temp[127:96] + temp[95:64]) + (temp[63:32] + temp[31:0])
	
	FOR j := 0 to 3
		i := j*32
		IF imm8[j%8]
			tmpdst[i+31:i] := sum[31:0]
		ELSE
			tmpdst[i+31:i] := FP32(0.0)
		FI
	ENDFOR
	RETURN tmpdst[127:0]
}
dst[127:0] := DP(a[127:0], b[127:0], imm8[7:0])
dst[255:128] := DP(a[255:128], b[255:128], imm8[7:0])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VDPPS" xed="VDPPS_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hadd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Horizontally add adjacent pairs of double-precision (64-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[63:0] := a[127:64] + a[63:0]
dst[127:64] := b[127:64] + b[63:0]
dst[191:128] := a[255:192] + a[191:128]
dst[255:192] := b[255:192] + b[191:128]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VHADDPD" xed="VHADDPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hadd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Horizontally add adjacent pairs of single-precision (32-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] + a[31:0]
dst[63:32] := a[127:96] + a[95:64]
dst[95:64] := b[63:32] + b[31:0]
dst[127:96] := b[127:96] + b[95:64]
dst[159:128] := a[191:160] + a[159:128]
dst[191:160] := a[255:224] + a[223:192]
dst[223:192] := b[191:160] + b[159:128]
dst[255:224] := b[255:224] + b[223:192]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VHADDPS" xed="VHADDPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Horizontally subtract adjacent pairs of double-precision (64-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[63:0] := a[63:0] - a[127:64]
dst[127:64] := b[63:0] - b[127:64]
dst[191:128] := a[191:128] - a[255:192]
dst[255:192] := b[191:128] - b[255:192]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VHSUBPD" xed="VHSUBPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Horizontally subtract adjacent pairs of single-precision (32-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] - a[63:32]
dst[63:32] := a[95:64] - a[127:96]
dst[95:64] := b[31:0] - b[63:32]
dst[127:96] := b[95:64] - b[127:96]
dst[159:128] := a[159:128] - a[191:160]
dst[191:160] := a[223:192] - a[255:224]
dst[223:192] := b[159:128] - b[191:160]
dst[255:224] := b[223:192] - b[255:224]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VHSUBPS" xed="VHSUBPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mul_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] * b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMULPD" xed="VMULPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mul_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] * b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMULPS" xed="VMULPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] - b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VSUBPD" xed="VSUBPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VSUBPS" xed="VSUBPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_and_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VANDPD" xed="VANDPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_and_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VANDPS" xed="VANDPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_andnot_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VANDNPD" xed="VANDNPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_andnot_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VANDNPS" xed="VANDNPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_or_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] OR b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VORPD" xed="VORPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_or_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] OR b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VORPS" xed="VORPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_xor_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VXORPD" xed="VXORPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_xor_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VXORPS" xed="VXORPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testz_si256" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing integer data) in "a" and "b", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return the "ZF" value.</description>
	<operation>
IF ((a[255:0] AND b[255:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
IF (((NOT a[255:0]) AND b[255:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
RETURN ZF
	</operation>
	<instruction form="ymm, ymm" name="VPTEST" xed="VPTEST_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testc_si256" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing integer data) in "a" and "b", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return the "CF" value.</description>
	<operation>
IF ((a[255:0] AND b[255:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
IF (((NOT a[255:0]) AND b[255:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
RETURN CF
	</operation>
	<instruction form="ymm, ymm" name="VPTEST" xed="VPTEST_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testnzc_si256" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing integer data) in "a" and "b", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.</description>
	<operation>
IF ((a[255:0] AND b[255:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
IF (((NOT a[255:0]) AND b[255:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
IF (ZF == 0 &amp;&amp; CF == 0)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="ymm, ymm" name="VPTEST" xed="VPTEST_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testz_pd" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing double-precision (64-bit) floating-point elements) in "a" and "b", producing an intermediate 256-bit value, and set "ZF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "ZF" value.</description>
	<operation>
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[255] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[255] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := ZF
	</operation>
	<instruction form="ymm, ymm" name="VTESTPD" xed="VTESTPD_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testc_pd" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing double-precision (64-bit) floating-point elements) in "a" and "b", producing an intermediate 256-bit value, and set "ZF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "CF" value.</description>
	<operation>
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[255] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[255] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := CF
	</operation>
	<instruction form="ymm, ymm" name="VTESTPD" xed="VTESTPD_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testnzc_pd" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing double-precision (64-bit) floating-point elements) in "a" and "b", producing an intermediate 256-bit value, and set "ZF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.</description>
	<operation>
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[255] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[255] == 0)
	CF := 1
ELSE
	CF := 0
FI
IF (ZF == 0 &amp;&amp; CF == 0)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="ymm, ymm" name="VTESTPD" xed="VTESTPD_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testz_pd" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing double-precision (64-bit) floating-point elements) in "a" and "b", producing an intermediate 128-bit value, and set "ZF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "ZF" value.</description>
	<operation>
tmp[127:0] := a[127:0] AND b[127:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[127:0] := (NOT a[127:0]) AND b[127:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := ZF
	</operation>
	<instruction form="xmm, xmm" name="VTESTPD" xed="VTESTPD_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testc_pd" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing double-precision (64-bit) floating-point elements) in "a" and "b", producing an intermediate 128-bit value, and set "ZF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "CF" value.</description>
	<operation>
tmp[127:0] := a[127:0] AND b[127:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[127:0] := (NOT a[127:0]) AND b[127:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := CF
	</operation>
	<instruction form="xmm, xmm" name="VTESTPD" xed="VTESTPD_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testnzc_pd" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing double-precision (64-bit) floating-point elements) in "a" and "b", producing an intermediate 128-bit value, and set "ZF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.</description>
	<operation>
tmp[127:0] := a[127:0] AND b[127:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[127:0] := (NOT a[127:0]) AND b[127:0]
IF (tmp[63] == 0 &amp;&amp; tmp[127] == 0)
	CF := 1
ELSE
	CF := 0
FI
IF (ZF == 0 &amp;&amp; CF == 0)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="xmm, xmm" name="VTESTPD" xed="VTESTPD_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testz_ps" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing single-precision (32-bit) floating-point elements) in "a" and "b", producing an intermediate 256-bit value, and set "ZF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "ZF" value.</description>
	<operation>
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; \
    tmp[159] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[223] == 0 &amp;&amp; tmp[255] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; \
    tmp[159] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[223] == 0 &amp;&amp; tmp[255] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := ZF
	</operation>
	<instruction form="ymm, ymm" name="VTESTPS" xed="VTESTPS_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testc_ps" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing single-precision (32-bit) floating-point elements) in "a" and "b", producing an intermediate 256-bit value, and set "ZF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "CF" value.</description>
	<operation>
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; \
    tmp[159] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[223] == 0 &amp;&amp; tmp[255] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; \
    tmp[159] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[223] == 0 &amp;&amp; tmp[255] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := CF
	</operation>
	<instruction form="ymm, ymm" name="VTESTPS" xed="VTESTPS_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_testnzc_ps" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing single-precision (32-bit) floating-point elements) in "a" and "b", producing an intermediate 256-bit value, and set "ZF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.</description>
	<operation>
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; \
    tmp[159] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[223] == 0 &amp;&amp; tmp[255] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0 &amp;&amp; \
    tmp[159] == 0 &amp;&amp; tmp[191] == 0 &amp;&amp; tmp[223] == 0 &amp;&amp; tmp[255] == 0)
	CF := 1
ELSE
	CF := 0
FI
IF (ZF == 0 &amp;&amp; CF == 0)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="ymm, ymm" name="VTESTPS" xed="VTESTPS_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testz_ps" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing single-precision (32-bit) floating-point elements) in "a" and "b", producing an intermediate 128-bit value, and set "ZF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "ZF" value.</description>
	<operation>
tmp[127:0] := a[127:0] AND b[127:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[127:0] := (NOT a[127:0]) AND b[127:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := ZF
	</operation>
	<instruction form="xmm, xmm" name="VTESTPS" xed="VTESTPS_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testc_ps" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing single-precision (32-bit) floating-point elements) in "a" and "b", producing an intermediate 128-bit value, and set "ZF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return the "CF" value.</description>
	<operation>
tmp[127:0] := a[127:0] AND b[127:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[127:0] := (NOT a[127:0]) AND b[127:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := CF
	</operation>
	<instruction form="xmm, xmm" name="VTESTPS" xed="VTESTPS_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testnzc_ps" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing single-precision (32-bit) floating-point elements) in "a" and "b", producing an intermediate 128-bit value, and set "ZF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", producing an intermediate value, and set "CF" to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.</description>
	<operation>
tmp[127:0] := a[127:0] AND b[127:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0)
	ZF := 1
ELSE
	ZF := 0
FI
tmp[127:0] := (NOT a[127:0]) AND b[127:0]
IF (tmp[31] == 0 &amp;&amp; tmp[63] == 0 &amp;&amp; tmp[95] == 0 &amp;&amp; tmp[127] == 0)
	CF := 1
ELSE
	CF := 0
FI
IF (ZF == 0 &amp;&amp; CF == 0)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="xmm, xmm" name="VTESTPS" xed="VTESTPS_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_blend_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Blend packed double-precision (64-bit) floating-point elements from "a" and "b" using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF imm8[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VBLENDPD" xed="VBLENDPD_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_blend_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Blend packed single-precision (32-bit) floating-point elements from "a" and "b" using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF imm8[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VBLENDPS" xed="VBLENDPS_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_blendv_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="MASK" type="__m256d" varname="mask" />
	<description>Blend packed double-precision (64-bit) floating-point elements from "a" and "b" using "mask", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF mask[i+63]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, ymm" name="VBLENDVPD" xed="VBLENDVPD_YMMqq_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_blendv_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="MASK" type="__m256" varname="mask" />
	<description>Blend packed single-precision (32-bit) floating-point elements from "a" and "b" using "mask", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF mask[i+31]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, ymm" name="VBLENDVPS" xed="VBLENDVPS_YMMqq_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
dst[191:128] := (imm8[2] == 0) ? a[191:128] : a[255:192]
dst[255:192] := (imm8[3] == 0) ? b[191:128] : b[255:192]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VSHUFPD" xed="VSHUFPD_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(b[127:0], imm8[5:4])
dst[127:96] := SELECT4(b[127:0], imm8[7:6])
dst[159:128] := SELECT4(a[255:128], imm8[1:0])
dst[191:160] := SELECT4(a[255:128], imm8[3:2])
dst[223:192] := SELECT4(b[255:128], imm8[5:4])
dst[255:224] := SELECT4(b[255:128], imm8[7:6])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VSHUFPS" xed="VSHUFPS_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_extractf128_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTF128" xed="VEXTRACTF128_XMMdq_YMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_extractf128_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTF128" xed="VEXTRACTF128_XMMdq_YMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_extractf128_si256" tech="AVX_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Extract 128 bits (composed of integer data) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTF128" xed="VEXTRACTF128_XMMdq_YMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_extract_epi32" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI32" type="__int32" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="index" />
	<description>Extract a 32-bit integer from "a", selected with "index", and store the result in "dst".</description>
	<operation>
dst[31:0] := (a[255:0] &gt;&gt; (index[2:0] * 32))[31:0]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_extract_epi64" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="index" />
	<description>Extract a 64-bit integer from "a", selected with "index", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[255:0] &gt;&gt; (index[1:0] * 64))[63:0]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permutevar_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], b[1:0])
dst[63:32] := SELECT4(a[127:0], b[33:32])
dst[95:64] := SELECT4(a[127:0], b[65:64])
dst[127:96] := SELECT4(a[127:0], b[97:96])
dst[159:128] := SELECT4(a[255:128], b[129:128])
dst[191:160] := SELECT4(a[255:128], b[161:160])
dst[223:192] := SELECT4(a[255:128], b[193:192])
dst[255:224] := SELECT4(a[255:128], b[225:224])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMILPS" xed="VPERMILPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_permutevar_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], b[1:0])
dst[63:32] := SELECT4(a[127:0], b[33:32])
dst[95:64] := SELECT4(a[127:0], b[65:64])
dst[127:96] := SELECT4(a[127:0], b[97:96])
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMILPS" xed="VPERMILPS_XMMdq_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(a[127:0], imm8[5:4])
dst[127:96] := SELECT4(a[127:0], imm8[7:6])
dst[159:128] := SELECT4(a[255:128], imm8[1:0])
dst[191:160] := SELECT4(a[255:128], imm8[3:2])
dst[223:192] := SELECT4(a[255:128], imm8[5:4])
dst[255:224] := SELECT4(a[255:128], imm8[7:6])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPERMILPS" xed="VPERMILPS_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_permute_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(a[127:0], imm8[5:4])
dst[127:96] := SELECT4(a[127:0], imm8[7:6])
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VPERMILPS" xed="VPERMILPS_XMMdq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permutevar_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst".</description>
	<operation>
IF (b[1] == 0) dst[63:0] := a[63:0]; FI
IF (b[1] == 1) dst[63:0] := a[127:64]; FI
IF (b[65] == 0) dst[127:64] := a[63:0]; FI
IF (b[65] == 1) dst[127:64] := a[127:64]; FI
IF (b[129] == 0) dst[191:128] := a[191:128]; FI
IF (b[129] == 1) dst[191:128] := a[255:192]; FI
IF (b[193] == 0) dst[255:192] := a[191:128]; FI
IF (b[193] == 1) dst[255:192] := a[255:192]; FI
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMILPD" xed="VPERMILPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_permutevar_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" using the control in "b", and store the results in "dst".</description>
	<operation>
IF (b[1] == 0) dst[63:0] := a[63:0]; FI
IF (b[1] == 1) dst[63:0] := a[127:64]; FI
IF (b[65] == 0) dst[127:64] := a[63:0]; FI
IF (b[65] == 1) dst[127:64] := a[127:64]; FI
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMILPD" xed="VPERMILPD_XMMdq_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
IF (imm8[0] == 0) dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) dst[127:64] := a[127:64]; FI
IF (imm8[2] == 0) dst[191:128] := a[191:128]; FI
IF (imm8[2] == 1) dst[191:128] := a[255:192]; FI
IF (imm8[3] == 0) dst[255:192] := a[191:128]; FI
IF (imm8[3] == 1) dst[255:192] := a[255:192]; FI
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPERMILPD" xed="VPERMILPD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_permute_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst".</description>
	<operation>
IF (imm8[0] == 0) dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) dst[127:64] := a[127:64]; FI
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VPERMILPD" xed="VPERMILPD_XMMdq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute2f128_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src1, src2, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src1[127:0]
	1:	tmp[127:0] := src1[255:128]
	2:	tmp[127:0] := src2[127:0]
	3:	tmp[127:0] := src2[255:128]
	ESAC
	IF control[3]
		tmp[127:0] := 0
	FI
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[255:0], b[255:0], imm8[3:0])
dst[255:128] := SELECT4(a[255:0], b[255:0], imm8[7:4])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPERM2F128" xed="VPERM2F128_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute2f128_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src1, src2, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src1[127:0]
	1:	tmp[127:0] := src1[255:128]
	2:	tmp[127:0] := src2[127:0]
	3:	tmp[127:0] := src2[255:128]
	ESAC
	IF control[3]
		tmp[127:0] := 0
	FI
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[255:0], b[255:0], imm8[3:0])
dst[255:128] := SELECT4(a[255:0], b[255:0], imm8[7:4])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPERM2F128" xed="VPERM2F128_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute2f128_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 128-bits (composed of integer data) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src1, src2, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src1[127:0]
	1:	tmp[127:0] := src1[255:128]
	2:	tmp[127:0] := src2[127:0]
	3:	tmp[127:0] := src2[255:128]
	ESAC
	IF control[3]
		tmp[127:0] := 0
	FI
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[255:0], b[255:0], imm8[3:0])
dst[255:128] := SELECT4(a[255:0], b[255:0], imm8[7:4])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPERM2F128" xed="VPERM2F128_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_insertf128_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE (imm8[0]) OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_insertf128_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE imm8[0] OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_insertf128_si256" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE (imm8[0]) OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_insert_epi8" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__int8" varname="i" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="index" />
	<description>Copy "a" to "dst", and insert the 8-bit integer "i" into "dst" at the location specified by "index".</description>
	<operation>
dst[255:0] := a[255:0]
sel := index[4:0]*8
dst[sel+7:sel] := i[7:0]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_insert_epi16" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__int16" varname="i" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="index" />
	<description>Copy "a" to "dst", and insert the 16-bit integer "i" into "dst" at the location specified by "index".</description>
	<operation>
dst[255:0] := a[255:0]
sel := index[3:0]*16
dst[sel+15:sel] := i[15:0]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_insert_epi32" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__int32" varname="i" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="index" />
	<description>Copy "a" to "dst", and insert the 32-bit integer "i" into "dst" at the location specified by "index".</description>
	<operation>
dst[255:0] := a[255:0]
sel := index[2:0]*32
dst[sel+31:sel] := i[31:0]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_insert_epi64" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__int64" varname="i" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="index" />
	<description>Copy "a" to "dst", and insert the 64-bit integer "i" into "dst" at the location specified by "index".</description>
	<operation>
dst[255:0] := a[255:0]
sel := index[1:0]*64
dst[sel+63:sel] := i[63:0]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpackhi_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VUNPCKHPD" xed="VUNPCKHPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpackhi_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VUNPCKHPS" xed="VUNPCKHPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpacklo_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VUNPCKLPD" xed="VUNPCKLPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpacklo_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VUNPCKLPS" xed="VUNPCKLPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_max_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMAXPD" xed="VMAXPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMAXPS" xed="VMAXPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMINPD" xed="VMINPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMINPS" xed="VMINPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_round_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" using the "rounding" parameter, and store the results as packed double-precision floating-point elements in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ROUND(a[i+63:i], rounding)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VROUNDPD" xed="VROUNDPD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_round_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" using the "rounding" parameter, and store the results as packed single-precision floating-point elements in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ROUND(a[i+31:i], rounding)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VROUNDPS" xed="VROUNDPS_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_floor_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" down to an integer value, and store the results as packed single-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := FLOOR(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VROUNDPS" xed="VROUNDPS_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_ceil_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" up to an integer value, and store the results as packed single-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := CEIL(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VROUNDPS" xed="VROUNDPS_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_floor_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" down to an integer value, and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := FLOOR(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VROUNDPD" xed="VROUNDPD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_ceil_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" up to an integer value, and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := CEIL(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VROUNDPD" xed="VROUNDPD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in "dst".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ( a[i+63:i] OP b[i+63:i] ) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VCMPPD" xed="VCMPPD_XMMdq_XMMdq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in "dst".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ( a[i+63:i] OP b[i+63:i] ) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VCMPPD" xed="VCMPPD_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in "dst".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] OP b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VCMPPS" xed="VCMPPS_XMMdq_XMMdq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in "dst".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ( a[i+31:i] OP b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VCMPPS" xed="VCMPPS_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_sd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
dst[63:0] := ( a[63:0] OP b[63:0] ) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VCMPSD" xed="VCMPSD_XMMdq_XMMdq_XMMq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_ss" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
dst[31:0] := ( a[31:0] OP b[31:0] ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VCMPSS" xed="VCMPSS_XMMdq_XMMdq_XMMd_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi32_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTDQ2PD" xed="VCVTDQ2PD_YMMqq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi32_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTDQ2PS" xed="VCVTDQ2PS_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtpd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_FP32(a[k+63:k])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTPD2PS" xed="VCVTPD2PS_XMMdq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtps_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTPS2DQ" xed="VCVTPS2DQ_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtps_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 32*j
	dst[i+63:i] := Convert_FP32_To_FP64(a[k+31:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPS2PD" xed="VCVTPS2PD_YMMqq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttpd_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_XMMdq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtpd_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTPD2DQ" xed="VCVTPD2DQ_XMMdq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttps_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtss_f32" vexEq="TRUE" tech="AVX_ALL">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Copy the lower single-precision (32-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="m32, xmm" name="VMOVSS" xed="VMOVSS_MEMd_XMMd" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsd_f64" vexEq="TRUE" tech="AVX_ALL">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Copy the lower double-precision (64-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="m64, xmm" name="VMOVSD" xed="VMOVSD_MEMq_XMMq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsi256_si32" vexEq="TRUE" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Copy the lower 32-bit integer in "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="r32, xmm" name="VMOVD" xed="VMOVD_GPR32d_XMMd" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_zeroall" tech="AVX_ALL">
	<return type="void" />
	<parameter type="void" />
	<description>Zero the contents of all XMM or YMM registers.</description>
	<operation>YMM0[MAX:0] := 0
YMM1[MAX:0] := 0
YMM2[MAX:0] := 0
YMM3[MAX:0] := 0
YMM4[MAX:0] := 0
YMM5[MAX:0] := 0
YMM6[MAX:0] := 0
YMM7[MAX:0] := 0
IF _64_BIT_MODE
	YMM8[MAX:0] := 0
	YMM9[MAX:0] := 0
	YMM10[MAX:0] := 0
	YMM11[MAX:0] := 0
	YMM12[MAX:0] := 0
	YMM13[MAX:0] := 0
	YMM14[MAX:0] := 0
	YMM15[MAX:0] := 0
FI
	</operation>
	<instruction name="VZEROALL" xed="VZEROALL" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm256_zeroupper" tech="AVX_ALL">
	<return type="void" />
	<parameter type="void" />
	<description>Zero the upper 128 bits of all YMM registers; the lower 128-bits of the registers are unmodified.</description>
	<operation>YMM0[MAX:128] := 0
YMM1[MAX:128] := 0
YMM2[MAX:128] := 0
YMM3[MAX:128] := 0
YMM4[MAX:128] := 0
YMM5[MAX:128] := 0
YMM6[MAX:128] := 0
YMM7[MAX:128] := 0
IF _64_BIT_MODE
	YMM8[MAX:128] := 0
	YMM9[MAX:128] := 0
	YMM10[MAX:128] := 0
	YMM11[MAX:128] := 0
	YMM12[MAX:128] := 0
	YMM13[MAX:128] := 0
	YMM14[MAX:128] := 0
	YMM15[MAX:128] := 0
FI
	</operation>
	<instruction name="VZEROUPPER" xed="VZEROUPPER" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm256_undefined_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256 with undefined elements.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm256_undefined_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256d with undefined elements.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm256_undefined_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256i with undefined elements.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_ss" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" memwidth="32" type="float const *" varname="mem_addr" />
	<description>Broadcast a single-precision (32-bit) floating-point element from memory to all elements of "dst".</description>
	<operation>
tmp[31:0] := MEM[mem_addr+31:mem_addr]
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := tmp[31:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m32" name="VBROADCASTSS" xed="VBROADCASTSS_YMMqq_MEMd" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_broadcast_ss" tech="AVX_ALL">
	<category>Swizzle</category>
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="32" type="float const *" varname="mem_addr" />
	<description>Broadcast a single-precision (32-bit) floating-point element from memory to all elements of "dst".</description>
	<operation>
tmp[31:0] := MEM[mem_addr+31:mem_addr]
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := tmp[31:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m32" name="VBROADCASTSS" xed="VBROADCASTSS_XMMdq_MEMd" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_sd" tech="AVX_ALL">
	<category>Swizzle</category>
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" memwidth="64" type="double const *" varname="mem_addr" />
	<description>Broadcast a double-precision (64-bit) floating-point element from memory to all elements of "dst".</description>
	<operation>
tmp[63:0] := MEM[mem_addr+63:mem_addr]
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := tmp[63:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m64" name="VBROADCASTSD" xed="VBROADCASTSD_YMMqq_MEMq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_ps" tech="AVX_ALL">
	<category>Swizzle</category>
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" memwidth="128" type="__m128 const *" varname="mem_addr" />
	<description>Broadcast 128 bits from memory (composed of 4 packed single-precision (32-bit) floating-point elements) to all elements of "dst".</description>
	<operation>
tmp[127:0] := MEM[mem_addr+127:mem_addr]
dst[127:0] := tmp[127:0]
dst[255:128] := tmp[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTF128" xed="VBROADCASTF128_YMMqq_MEMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_pd" tech="AVX_ALL">
	<category>Swizzle</category>
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" memwidth="128" type="__m128d const *" varname="mem_addr" />
	<description>Broadcast 128 bits from memory (composed of 2 packed double-precision (64-bit) floating-point elements) to all elements of "dst".</description>
	<operation>
tmp[127:0] := MEM[mem_addr+127:mem_addr]
dst[127:0] := tmp[127:0]
dst[255:128] := tmp[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTF128" xed="VBROADCASTF128_YMMqq_MEMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_load_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" memwidth="256" type="double const *" varname="mem_addr" />
	<description>Load 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from memory into "dst".
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVAPD" xed="VMOVAPD_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_load_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" memwidth="256" type="float const *" varname="mem_addr" />
	<description>Load 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from memory into "dst".
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVAPS" xed="VMOVAPS_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" memwidth="256" type="double const *" varname="mem_addr" />
	<description>Load 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from memory into "dst".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVUPD" xed="VMOVUPD_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" memwidth="256" type="float const *" varname="mem_addr" />
	<description>Load 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from memory into "dst".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVUPS" xed="VMOVUPS_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_load_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" memwidth="256" type="__m256i const *" varname="mem_addr" />
	<description>Load 256-bits of integer data from memory into "dst".
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQA" xed="VMOVDQA_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" memwidth="256" type="__m256i const *" varname="mem_addr" />
	<description>Load 256-bits of integer data from memory into "dst".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQU" xed="VMOVDQU_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskload_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" memwidth="256" type="double const *" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using "mask" (elements are zeroed out when the high bit of the corresponding element is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF mask[i+63]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, m256" name="VMASKMOVPD" xed="VMASKMOVPD_YMMqq_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskload_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="128" type="double const *" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using "mask" (elements are zeroed out when the high bit of the corresponding element is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF mask[i+63]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, m128" name="VMASKMOVPD" xed="VMASKMOVPD_XMMdq_XMMdq_MEMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskload_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" memwidth="256" type="float const *" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using "mask" (elements are zeroed out when the high bit of the corresponding element is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF mask[i+31]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, m256" name="VMASKMOVPS" xed="VMASKMOVPS_YMMqq_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskload_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="128" type="float const *" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using "mask" (elements are zeroed out when the high bit of the corresponding element is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF mask[i+31]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, m128" name="VMASKMOVPS" xed="VMASKMOVPS_XMMdq_XMMdq_MEMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_lddqu_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" memwidth="256" type="__m256i const *" varname="mem_addr" />
	<description>Load 256-bits of integer data from unaligned memory into "dst". This intrinsic may perform better than "_mm256_loadu_si256" when the data crosses a cache line boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VLDDQU" xed="VLDDQU_YMMqq_MEMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu2_m128" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" memwidth="128" type="float const*" varname="hiaddr" />
	<parameter etype="FP32" memwidth="128" type="float const*" varname="loaddr" />
	<description>Load two 128-bit values (composed of 4 packed single-precision (32-bit) floating-point elements) from memory, and combine them into a 256-bit value in "dst".
	"hiaddr" and "loaddr" do not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[loaddr+127:loaddr]
dst[255:128] := MEM[hiaddr+127:hiaddr]
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu2_m128d" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" memwidth="128" type="double const*" varname="hiaddr" />
	<parameter etype="FP64" memwidth="128" type="double const*" varname="loaddr" />
	<description>Load two 128-bit values (composed of 2 packed double-precision (64-bit) floating-point elements) from memory, and combine them into a 256-bit value in "dst".
	"hiaddr" and "loaddr" do not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[loaddr+127:loaddr]
dst[255:128] := MEM[hiaddr+127:hiaddr]
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu2_m128i" sequence="TRUE" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" memwidth="128" type="__m128i const*" varname="hiaddr" />
	<parameter etype="M128" memwidth="128" type="__m128i const*" varname="loaddr" />
	<description>Load two 128-bit values (composed of integer data) from memory, and combine them into a 256-bit value in "dst".
	"hiaddr" and "loaddr" do not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[loaddr+127:loaddr]
dst[255:128] := MEM[hiaddr+127:hiaddr]
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_store_pd" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="256" type="double *" varname="mem_addr" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Store 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "a" into memory.
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVAPD" xed="VMOVAPD_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_store_ps" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="256" type="float *" varname="mem_addr" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Store 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "a" into memory.
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVAPS" xed="VMOVAPS_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_pd" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="256" type="double *" varname="mem_addr" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Store 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "a" into memory.
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVUPD" xed="VMOVUPD_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_ps" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="256" type="float *" varname="mem_addr" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Store 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "a" into memory.
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVUPS" xed="VMOVUPS_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_store_si256" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="M256" memwidth="256" type="__m256i *" varname="mem_addr" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<description>Store 256-bits of integer data from "a" into memory.
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQA" xed="VMOVDQA_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_si256" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="M256" memwidth="256" type="__m256i *" varname="mem_addr" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<description>Store 256-bits of integer data from "a" into memory.
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQU" xed="VMOVDQU_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_maskstore_pd" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="256" type="double *" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using "mask".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF mask[i+63]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256, ymm, ymm" name="VMASKMOVPD" xed="VMASKMOVPD_MEMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_maskstore_pd" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="double *" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using "mask".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF mask[i+63]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128, xmm, xmm" name="VMASKMOVPD" xed="VMASKMOVPD_MEMdq_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_maskstore_ps" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="256" type="float *" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using "mask".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF mask[i+31]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256, ymm, ymm" name="VMASKMOVPS" xed="VMASKMOVPS_MEMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_maskstore_ps" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="float *" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using "mask".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF mask[i+31]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128, xmm, xmm" name="VMASKMOVPS" xed="VMASKMOVPS_MEMdq_XMMdq_XMMdq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_stream_si256" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="M256" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<description>Store 256-bits of integer data from "a" into memory using a non-temporal memory hint.
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVNTDQ" xed="VMOVNTDQ_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_stream_pd" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Store 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "a" into memory using a non-temporal memory hint.
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVNTPD" xed="VMOVNTPD_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_stream_ps" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Store 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "a" into memory using a non-temporal memory hint.
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVNTPS" xed="VMOVNTPS_MEMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu2_m128" sequence="TRUE" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="float*" varname="hiaddr" />
	<parameter etype="FP32" memwidth="128" type="float*" varname="loaddr" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Store the high and low 128-bit halves (each composed of 4 packed single-precision (32-bit) floating-point elements) from "a" into memory two different 128-bit locations.
	"hiaddr" and "loaddr" do not need to be aligned on any particular boundary.</description>
	<operation>
MEM[loaddr+127:loaddr] := a[127:0]
MEM[hiaddr+127:hiaddr] := a[255:128]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu2_m128d" sequence="TRUE" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="double*" varname="hiaddr" />
	<parameter etype="FP64" memwidth="128" type="double*" varname="loaddr" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Store the high and low 128-bit halves (each composed of 2 packed double-precision (64-bit) floating-point elements) from "a" into memory two different 128-bit locations.
	"hiaddr" and "loaddr" do not need to be aligned on any particular boundary.</description>
	<operation>
MEM[loaddr+127:loaddr] := a[127:0]
MEM[hiaddr+127:hiaddr] := a[255:128]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu2_m128i" sequence="TRUE" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="M128" memwidth="128" type="__m128i*" varname="hiaddr" />
	<parameter etype="M128" memwidth="128" type="__m128i*" varname="loaddr" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<description>Store the high and low 128-bit halves (each composed of integer data) from "a" into memory two different 128-bit locations.
	"hiaddr" and "loaddr" do not need to be aligned on any particular boundary.</description>
	<operation>
MEM[loaddr+127:loaddr] := a[127:0]
MEM[hiaddr+127:hiaddr] := a[255:128]
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_movehdup_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] 
dst[63:32] := a[63:32] 
dst[95:64] := a[127:96] 
dst[127:96] := a[127:96]
dst[159:128] := a[191:160] 
dst[191:160] := a[191:160] 
dst[223:192] := a[255:224] 
dst[255:224] := a[255:224]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VMOVSHDUP" xed="VMOVSHDUP_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_moveldup_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] 
dst[63:32] := a[31:0] 
dst[95:64] := a[95:64] 
dst[127:96] := a[95:64]
dst[159:128] := a[159:128] 
dst[191:160] := a[159:128] 
dst[223:192] := a[223:192] 
dst[255:224] := a[223:192]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VMOVSLDUP" xed="VMOVSLDUP_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_movedup_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := a[63:0]
dst[191:128] := a[191:128]
dst[255:192] := a[191:128]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VMOVDDUP" xed="VMOVDDUP_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_rcp_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := 1.0 / a[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRCPPS" xed="VRCPPS_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_rsqrt_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRSQRTPS" xed="VRSQRTPS_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_sqrt_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SQRT(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VSQRTPD" xed="VSQRTPD_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_sqrt_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SQRT(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VSQRTPS" xed="VSQRTPS_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_movemask_pd" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Set each bit of mask "dst" based on the most significant bit of the corresponding packed double-precision (64-bit) floating-point element in "a".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF a[i+63]
		dst[j] := 1
	ELSE
		dst[j] := 0
	FI
ENDFOR
dst[MAX:4] := 0
	</operation>
	<instruction form="r32, ymm" name="VMOVMSKPD" xed="VMOVMSKPD_GPR32d_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movemask_ps" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Set each bit of mask "dst" based on the most significant bit of the corresponding packed single-precision (32-bit) floating-point element in "a".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF a[i+31]
		dst[j] := 1
	ELSE
		dst[j] := 0
	FI
ENDFOR
dst[MAX:8] := 0
	</operation>
	<instruction form="r32, ymm" name="VMOVMSKPS" xed="VMOVMSKPS_GPR32d_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_setzero_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256d with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VXORPD" xed="VXORPD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setzero_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256 with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VXORPS" xed="VXORPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setzero_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256i with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPXOR" xed="VPXOR_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_pd" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="double" varname="e3" />
	<parameter etype="FP64" type="double" varname="e2" />
	<parameter etype="FP64" type="double" varname="e1" />
	<parameter etype="FP64" type="double" varname="e0" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst[63:0] := e0
dst[127:64] := e1
dst[191:128] := e2
dst[255:192] := e3
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_ps" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="float" varname="e7" />
	<parameter etype="FP32" type="float" varname="e6" />
	<parameter etype="FP32" type="float" varname="e5" />
	<parameter etype="FP32" type="float" varname="e4" />
	<parameter etype="FP32" type="float" varname="e3" />
	<parameter etype="FP32" type="float" varname="e2" />
	<parameter etype="FP32" type="float" varname="e1" />
	<parameter etype="FP32" type="float" varname="e0" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst[31:0] := e0
dst[63:32] := e1
dst[95:64] := e2
dst[127:96] := e3
dst[159:128] := e4
dst[191:160] := e5
dst[223:192] := e6
dst[255:224] := e7
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_epi8" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="char" varname="e31" />
	<parameter etype="UI8" type="char" varname="e30" />
	<parameter etype="UI8" type="char" varname="e29" />
	<parameter etype="UI8" type="char" varname="e28" />
	<parameter etype="UI8" type="char" varname="e27" />
	<parameter etype="UI8" type="char" varname="e26" />
	<parameter etype="UI8" type="char" varname="e25" />
	<parameter etype="UI8" type="char" varname="e24" />
	<parameter etype="UI8" type="char" varname="e23" />
	<parameter etype="UI8" type="char" varname="e22" />
	<parameter etype="UI8" type="char" varname="e21" />
	<parameter etype="UI8" type="char" varname="e20" />
	<parameter etype="UI8" type="char" varname="e19" />
	<parameter etype="UI8" type="char" varname="e18" />
	<parameter etype="UI8" type="char" varname="e17" />
	<parameter etype="UI8" type="char" varname="e16" />
	<parameter etype="UI8" type="char" varname="e15" />
	<parameter etype="UI8" type="char" varname="e14" />
	<parameter etype="UI8" type="char" varname="e13" />
	<parameter etype="UI8" type="char" varname="e12" />
	<parameter etype="UI8" type="char" varname="e11" />
	<parameter etype="UI8" type="char" varname="e10" />
	<parameter etype="UI8" type="char" varname="e9" />
	<parameter etype="UI8" type="char" varname="e8" />
	<parameter etype="UI8" type="char" varname="e7" />
	<parameter etype="UI8" type="char" varname="e6" />
	<parameter etype="UI8" type="char" varname="e5" />
	<parameter etype="UI8" type="char" varname="e4" />
	<parameter etype="UI8" type="char" varname="e3" />
	<parameter etype="UI8" type="char" varname="e2" />
	<parameter etype="UI8" type="char" varname="e1" />
	<parameter etype="UI8" type="char" varname="e0" />
	<description>Set packed 8-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[7:0] := e0
dst[15:8] := e1
dst[23:16] := e2
dst[31:24] := e3
dst[39:32] := e4
dst[47:40] := e5
dst[55:48] := e6
dst[63:56] := e7
dst[71:64] := e8
dst[79:72] := e9
dst[87:80] := e10
dst[95:88] := e11
dst[103:96] := e12
dst[111:104] := e13
dst[119:112] := e14
dst[127:120] := e15
dst[135:128] := e16
dst[143:136] := e17
dst[151:144] := e18
dst[159:152] := e19
dst[167:160] := e20
dst[175:168] := e21
dst[183:176] := e22
dst[191:184] := e23
dst[199:192] := e24
dst[207:200] := e25
dst[215:208] := e26
dst[223:216] := e27
dst[231:224] := e28
dst[239:232] := e29
dst[247:240] := e30
dst[255:248] := e31
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_epi16" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="short" varname="e15" />
	<parameter etype="UI16" type="short" varname="e14" />
	<parameter etype="UI16" type="short" varname="e13" />
	<parameter etype="UI16" type="short" varname="e12" />
	<parameter etype="UI16" type="short" varname="e11" />
	<parameter etype="UI16" type="short" varname="e10" />
	<parameter etype="UI16" type="short" varname="e9" />
	<parameter etype="UI16" type="short" varname="e8" />
	<parameter etype="UI16" type="short" varname="e7" />
	<parameter etype="UI16" type="short" varname="e6" />
	<parameter etype="UI16" type="short" varname="e5" />
	<parameter etype="UI16" type="short" varname="e4" />
	<parameter etype="UI16" type="short" varname="e3" />
	<parameter etype="UI16" type="short" varname="e2" />
	<parameter etype="UI16" type="short" varname="e1" />
	<parameter etype="UI16" type="short" varname="e0" />
	<description>Set packed 16-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[15:0] := e0
dst[31:16] := e1
dst[47:32] := e2
dst[63:48] := e3
dst[79:64] := e4
dst[95:80] := e5
dst[111:96] := e6
dst[127:112] := e7
dst[143:128] := e8
dst[159:144] := e9
dst[175:160] := e10
dst[191:176] := e11
dst[207:192] := e12
dst[223:208] := e13
dst[239:224] := e14
dst[255:240] := e15
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_epi32" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="int" varname="e7" />
	<parameter etype="UI32" type="int" varname="e6" />
	<parameter etype="UI32" type="int" varname="e5" />
	<parameter etype="UI32" type="int" varname="e4" />
	<parameter etype="UI32" type="int" varname="e3" />
	<parameter etype="UI32" type="int" varname="e2" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[31:0] := e0
dst[63:32] := e1
dst[95:64] := e2
dst[127:96] := e3
dst[159:128] := e4
dst[191:160] := e5
dst[223:192] := e6
dst[255:224] := e7
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_epi64x" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="e3" />
	<parameter etype="UI64" type="__int64" varname="e2" />
	<parameter etype="UI64" type="__int64" varname="e1" />
	<parameter etype="UI64" type="__int64" varname="e0" />
	<description>Set packed 64-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[63:0] := e0
dst[127:64] := e1
dst[191:128] := e2
dst[255:192] := e3
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_pd" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="double" varname="e3" />
	<parameter etype="FP64" type="double" varname="e2" />
	<parameter etype="FP64" type="double" varname="e1" />
	<parameter etype="FP64" type="double" varname="e0" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[63:0] := e3
dst[127:64] := e2
dst[191:128] := e1
dst[255:192] := e0
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_ps" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="float" varname="e7" />
	<parameter etype="FP32" type="float" varname="e6" />
	<parameter etype="FP32" type="float" varname="e5" />
	<parameter etype="FP32" type="float" varname="e4" />
	<parameter etype="FP32" type="float" varname="e3" />
	<parameter etype="FP32" type="float" varname="e2" />
	<parameter etype="FP32" type="float" varname="e1" />
	<parameter etype="FP32" type="float" varname="e0" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[31:0] := e7
dst[63:32] := e6
dst[95:64] := e5
dst[127:96] := e4
dst[159:128] := e3
dst[191:160] := e2
dst[223:192] := e1
dst[255:224] := e0
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_epi8" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="char" varname="e31" />
	<parameter etype="UI8" type="char" varname="e30" />
	<parameter etype="UI8" type="char" varname="e29" />
	<parameter etype="UI8" type="char" varname="e28" />
	<parameter etype="UI8" type="char" varname="e27" />
	<parameter etype="UI8" type="char" varname="e26" />
	<parameter etype="UI8" type="char" varname="e25" />
	<parameter etype="UI8" type="char" varname="e24" />
	<parameter etype="UI8" type="char" varname="e23" />
	<parameter etype="UI8" type="char" varname="e22" />
	<parameter etype="UI8" type="char" varname="e21" />
	<parameter etype="UI8" type="char" varname="e20" />
	<parameter etype="UI8" type="char" varname="e19" />
	<parameter etype="UI8" type="char" varname="e18" />
	<parameter etype="UI8" type="char" varname="e17" />
	<parameter etype="UI8" type="char" varname="e16" />
	<parameter etype="UI8" type="char" varname="e15" />
	<parameter etype="UI8" type="char" varname="e14" />
	<parameter etype="UI8" type="char" varname="e13" />
	<parameter etype="UI8" type="char" varname="e12" />
	<parameter etype="UI8" type="char" varname="e11" />
	<parameter etype="UI8" type="char" varname="e10" />
	<parameter etype="UI8" type="char" varname="e9" />
	<parameter etype="UI8" type="char" varname="e8" />
	<parameter etype="UI8" type="char" varname="e7" />
	<parameter etype="UI8" type="char" varname="e6" />
	<parameter etype="UI8" type="char" varname="e5" />
	<parameter etype="UI8" type="char" varname="e4" />
	<parameter etype="UI8" type="char" varname="e3" />
	<parameter etype="UI8" type="char" varname="e2" />
	<parameter etype="UI8" type="char" varname="e1" />
	<parameter etype="UI8" type="char" varname="e0" />
	<description>Set packed 8-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[7:0] := e31
dst[15:8] := e30
dst[23:16] := e29
dst[31:24] := e28
dst[39:32] := e27
dst[47:40] := e26
dst[55:48] := e25
dst[63:56] := e24
dst[71:64] := e23
dst[79:72] := e22
dst[87:80] := e21
dst[95:88] := e20
dst[103:96] := e19
dst[111:104] := e18
dst[119:112] := e17
dst[127:120] := e16
dst[135:128] := e15
dst[143:136] := e14
dst[151:144] := e13
dst[159:152] := e12
dst[167:160] := e11
dst[175:168] := e10
dst[183:176] := e9
dst[191:184] := e8
dst[199:192] := e7
dst[207:200] := e6
dst[215:208] := e5
dst[223:216] := e4
dst[231:224] := e3
dst[239:232] := e2
dst[247:240] := e1
dst[255:248] := e0
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_epi16" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="short" varname="e15" />
	<parameter etype="UI16" type="short" varname="e14" />
	<parameter etype="UI16" type="short" varname="e13" />
	<parameter etype="UI16" type="short" varname="e12" />
	<parameter etype="UI16" type="short" varname="e11" />
	<parameter etype="UI16" type="short" varname="e10" />
	<parameter etype="UI16" type="short" varname="e9" />
	<parameter etype="UI16" type="short" varname="e8" />
	<parameter etype="UI16" type="short" varname="e7" />
	<parameter etype="UI16" type="short" varname="e6" />
	<parameter etype="UI16" type="short" varname="e5" />
	<parameter etype="UI16" type="short" varname="e4" />
	<parameter etype="UI16" type="short" varname="e3" />
	<parameter etype="UI16" type="short" varname="e2" />
	<parameter etype="UI16" type="short" varname="e1" />
	<parameter etype="UI16" type="short" varname="e0" />
	<description>Set packed 16-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[15:0] := e15
dst[31:16] := e14
dst[47:32] := e13
dst[63:48] := e12
dst[79:64] := e11
dst[95:80] := e10
dst[111:96] := e9
dst[127:112] := e8
dst[143:128] := e7
dst[159:144] := e6
dst[175:160] := e5
dst[191:176] := e4
dst[207:192] := e3
dst[223:208] := e2
dst[239:224] := e1
dst[255:240] := e0
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_epi32" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="int" varname="e7" />
	<parameter etype="UI32" type="int" varname="e6" />
	<parameter etype="UI32" type="int" varname="e5" />
	<parameter etype="UI32" type="int" varname="e4" />
	<parameter etype="UI32" type="int" varname="e3" />
	<parameter etype="UI32" type="int" varname="e2" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[31:0] := e7
dst[63:32] := e6
dst[95:64] := e5
dst[127:96] := e4
dst[159:128] := e3
dst[191:160] := e2
dst[223:192] := e1
dst[255:224] := e0
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_epi64x" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="e3" />
	<parameter etype="UI64" type="__int64" varname="e2" />
	<parameter etype="UI64" type="__int64" varname="e1" />
	<parameter etype="UI64" type="__int64" varname="e0" />
	<description>Set packed 64-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[63:0] := e3
dst[127:64] := e2
dst[191:128] := e1
dst[255:192] := e0
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_pd" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Broadcast double-precision (64-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_ps" sequence="TRUE" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Broadcast single-precision (32-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_epi8" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst". This intrinsic may generate the "vpbroadcastb".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := a[7:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_epi16" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast 16-bit integer "a" to all all elements of "dst". This intrinsic may generate the "vpbroadcastw".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := a[15:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_epi32" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst". This intrinsic may generate the "vpbroadcastd".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_epi64x" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="long long" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst". This intrinsic may generate the "vpbroadcastq".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_m128" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="hi" />
	<parameter etype="FP32" type="__m128" varname="lo" />
	<description>Set packed __m256 vector "dst" with the supplied values.</description>
	<operation>
dst[127:0] := lo[127:0]
dst[255:128] := hi[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_m128d" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="hi" />
	<parameter etype="FP64" type="__m128d" varname="lo" />
	<description>Set packed __m256d vector "dst" with the supplied values.</description>
	<operation>
dst[127:0] := lo[127:0]
dst[255:128] := hi[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_m128i" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="hi" />
	<parameter etype="M128" type="__m128i" varname="lo" />
	<description>Set packed __m256i vector "dst" with the supplied values.</description>
	<operation>
dst[127:0] := lo[127:0]
dst[255:128] := hi[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_m128" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="lo" />
	<parameter etype="FP32" type="__m128" varname="hi" />
	<description>Set packed __m256 vector "dst" with the supplied values.</description>
	<operation>
dst[127:0] := lo[127:0]
dst[255:128] := hi[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_m128d" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="lo" />
	<parameter etype="FP64" type="__m128d" varname="hi" />
	<description>Set packed __m256d vector "dst" with the supplied values.</description>
	<operation>
dst[127:0] := lo[127:0]
dst[255:128] := hi[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_m128i" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="lo" />
	<parameter etype="M128" type="__m128i" varname="hi" />
	<description>Set packed __m256i vector "dst" with the supplied values.</description>
	<operation>
dst[127:0] := lo[127:0]
dst[255:128] := hi[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF128" xed="VINSERTF128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_castpd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Cast vector of type __m256d to type __m256.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castps_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Cast vector of type __m256 to type __m256d.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castps_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Cast vector of type __m256 to type __m256i. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castpd_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Cast vector of type __m256d to type __m256i. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castsi256_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Cast vector of type __m256i to type __m256. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castsi256_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Cast vector of type __m256i to type __m256d. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castps256_ps128" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Cast vector of type __m256 to type __m128. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castpd256_pd128" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Cast vector of type __m256d to type __m128d. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castsi256_si128" tech="AVX_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<description>Cast vector of type __m256i to type __m128i. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castps128_ps256" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Cast vector of type __m128 to type __m256; the upper 128 bits of the result are undefined. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castpd128_pd256" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Cast vector of type __m128d to type __m256d; the upper 128 bits of the result are undefined. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castsi128_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m128i" varname="a" />
	<description>Cast vector of type __m128i to type __m256i; the upper 128 bits of the result are undefined. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_zextps128_ps256" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Cast vector of type __m128 to type __m256; the upper 128 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_zextpd128_pd256" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Cast vector of type __m128d to type __m256d; the upper 128 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_zextsi128_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m128i" varname="a" />
	<description>Cast vector of type __m128i to type __m256i; the upper 128 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_extract_epi8" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI8" type="int" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="index" />
	<description>Extract an 8-bit integer from "a", selected with "index", and store the result in "dst".</description>
	<operation>
dst[7:0] := (a[255:0] &gt;&gt; (index[4:0] * 8))[7:0]
	</operation>
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_extract_epi16" sequence="TRUE" tech="AVX_ALL">
	<return etype="UI16" type="int" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="index" />
	<description>Extract a 16-bit integer from "a", selected with "index", and store the result in "dst".</description>
	<operation>
dst[15:0] := (a[255:0] &gt;&gt; (index[3:0] * 16))[15:0]
	</operation>
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_blend_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Blend packed 16-bit integers from "a" and "b" within 128-bit lanes using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF imm8[j%8]
		dst[i+15:i] := b[i+15:i]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPBLENDW" xed="VPBLENDW_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_blend_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Blend packed 32-bit integers from "a" and "b" using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF imm8[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPBLENDD" xed="VPBLENDD_XMMdq_XMMdq_XMMdq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_blend_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Blend packed 32-bit integers from "a" and "b" using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF imm8[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPBLENDD" xed="VPBLENDD_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_blendv_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<description>Blend packed 8-bit integers from "a" and "b" using "mask", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF mask[i+7]
		dst[i+7:i] := b[i+7:i]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, ymm" name="VPBLENDVB" xed="VPBLENDVB_YMMqq_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastb_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := a[7:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_XMMdq_XMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastb_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := a[7:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_YMMqq_XMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastd_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_XMMdq_XMMd" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastd_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_YMMqq_XMMd" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastq_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_XMMdq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastq_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastsd_pd" vexEq="TRUE" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the low double-precision (64-bit) floating-point element from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="MOVDDUP" xed="MOVDDUP_XMMdq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastsd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the low double-precision (64-bit) floating-point element from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VBROADCASTSD" xed="VBROADCASTSD_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastsi128_si256" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Broadcast 128 bits of integer data from "a" to all 128-bit lanes in "dst".</description>
	<operation>
dst[127:0] := a[127:0]
dst[255:128] := a[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTI128" xed="VBROADCASTI128_YMMqq_MEMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastsi128_si256" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Broadcast 128 bits of integer data from "a" to all 128-bit lanes in "dst".</description>
	<operation>
dst[127:0] := a[127:0]
dst[255:128] := a[127:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTI128" xed="VBROADCASTI128_YMMqq_MEMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastss_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastss_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastw_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := a[15:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_XMMdq_XMMw" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastw_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := a[15:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_YMMqq_XMMw" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_extracti128_si256" tech="AVX_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Extract 128 bits (composed of integer data) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTI128" xed="VEXTRACTI128_XMMdq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_inserti128_si256" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of integer data) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE (imm8[0]) OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTI128" xed="VINSERTI128_YMMqq_YMMqq_XMMdq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute2x128_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of integer data) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src1, src2, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src1[127:0]
	1:	tmp[127:0] := src1[255:128]
	2:	tmp[127:0] := src2[127:0]
	3:	tmp[127:0] := src2[255:128]
	ESAC
	IF control[3]
		tmp[127:0] := 0
	FI
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[255:0], b[255:0], imm8[3:0])
dst[255:128] := SELECT4(a[255:0], b[255:0], imm8[7:4])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPERM2I128" xed="VPERM2I128_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute4x64_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 64-bit integers in "a" across lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
dst[63:0] := SELECT4(a[255:0], imm8[1:0])
dst[127:64] := SELECT4(a[255:0], imm8[3:2])
dst[191:128] := SELECT4(a[255:0], imm8[5:4])
dst[255:192] := SELECT4(a[255:0], imm8[7:6])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPERMQ" xed="VPERMQ_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permute4x64_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
dst[63:0] := SELECT4(a[255:0], imm8[1:0])
dst[127:64] := SELECT4(a[255:0], imm8[3:2])
dst[191:128] := SELECT4(a[255:0], imm8[5:4])
dst[255:192] := SELECT4(a[255:0], imm8[7:6])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPERMPD" xed="VPERMPD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permutevar8x32_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	dst[i+31:i] := a[id+31:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMD" xed="VPERMD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permutevar8x32_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" across lanes using the corresponding index in "idx".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	dst[i+31:i] := a[id+31:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMPS" xed="VPERMPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(a[127:0], imm8[5:4])
dst[127:96] := SELECT4(a[127:0], imm8[7:6])
dst[159:128] := SELECT4(a[255:128], imm8[1:0])
dst[191:160] := SELECT4(a[255:128], imm8[3:2])
dst[223:192] := SELECT4(a[255:128], imm8[5:4])
dst[255:224] := SELECT4(a[255:128], imm8[7:6])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSHUFD" xed="VPSHUFD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Shuffle 8-bit integers in "a" within 128-bit lanes according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF b[i+7] == 1
		dst[i+7:i] := 0
	ELSE
		index[3:0] := b[i+3:i]
		dst[i+7:i] := a[index*8+7:index*8]
	FI
	IF b[128+i+7] == 1
		dst[128+i+7:128+i] := 0
	ELSE
		index[3:0] := b[128+i+3:128+i]
		dst[128+i+7:128+i] := a[128+index*8+7:128+index*8]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSHUFB" xed="VPSHUFB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_shufflehi_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the high 64 bits of 128-bit lanes of "dst", with the low 64 bits of 128-bit lanes being copied from from "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
dst[191:128] := a[191:128]
dst[207:192] := (a &gt;&gt; (imm8[1:0] * 16))[207:192]
dst[223:208] := (a &gt;&gt; (imm8[3:2] * 16))[207:192]
dst[239:224] := (a &gt;&gt; (imm8[5:4] * 16))[207:192]
dst[255:240] := (a &gt;&gt; (imm8[7:6] * 16))[207:192]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSHUFHW" xed="VPSHUFHW_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_shufflelo_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the low 64 bits of 128-bit lanes of "dst", with the high 64 bits of 128-bit lanes being copied from from "a" to "dst".</description>
	<operation>
dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
dst[127:64] := a[127:64]
dst[143:128] := (a &gt;&gt; (imm8[1:0] * 16))[143:128]
dst[159:144] := (a &gt;&gt; (imm8[3:2] * 16))[143:128]
dst[175:160] := (a &gt;&gt; (imm8[5:4] * 16))[143:128]
dst[191:176] := (a &gt;&gt; (imm8[7:6] * 16))[143:128]
dst[255:192] := a[255:192]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSHUFLW" xed="VPSHUFLW_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpackhi_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_BYTES(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKHBW" xed="VPUNPCKHBW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpackhi_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_WORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKHWD" xed="VPUNPCKHWD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpackhi_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpackhi_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpacklo_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_BYTES(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKLBW" xed="VPUNPCKLBW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpacklo_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_WORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKLWD" xed="VPUNPCKLWD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpacklo_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_unpacklo_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_abs_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := ABS(a[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPABSB" xed="VPABSB_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_abs_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ABS(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPABSW" xed="VPABSW_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_abs_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ABS(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPABSD" xed="VPABSD_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXSB" xed="VPMAXSB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXSW" xed="VPMAXSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXSD" xed="VPMAXSD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epu8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXUB" xed="VPMAXUB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epu16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXUW" xed="VPMAXUW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epu32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXUD" xed="VPMAXUD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINSB" xed="VPMINSB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINSW" xed="VPMINSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINSD" xed="VPMINSD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epu8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINUB" xed="VPMINUB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epu16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINUW" xed="VPMINUW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epu32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINUD" xed="VPMINUD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_add_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := a[i+7:i] + b[i+7:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDB" xed="VPADDB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_add_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := a[i+15:i] + b[i+15:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDW" xed="VPADDW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_add_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDD" xed="VPADDD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_add_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] + b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDQ" xed="VPADDQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_adds_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDSB" xed="VPADDSB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_adds_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDSW" xed="VPADDSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_adds_epu8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDUSB" xed="VPADDUSB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_adds_epu16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPADDUSW" xed="VPADDUSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hadd_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Horizontally add adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := a[31:16] + a[15:0]
dst[31:16] := a[63:48] + a[47:32]
dst[47:32] := a[95:80] + a[79:64]
dst[63:48] := a[127:112] + a[111:96]
dst[79:64] := b[31:16] + b[15:0]
dst[95:80] := b[63:48] + b[47:32]
dst[111:96] := b[95:80] + b[79:64]
dst[127:112] := b[127:112] + b[111:96]
dst[143:128] := a[159:144] + a[143:128]
dst[159:144] := a[191:176] + a[175:160]
dst[175:160] := a[223:208] + a[207:192]
dst[191:176] := a[255:240] + a[239:224]
dst[207:192] := b[159:144] + b[143:128]
dst[223:208] := b[191:176] + b[175:160]
dst[239:224] := b[223:208] + b[207:192]
dst[255:240] := b[255:240] + b[239:224]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPHADDW" xed="VPHADDW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hadd_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Horizontally add adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] + a[31:0]
dst[63:32] := a[127:96] + a[95:64]
dst[95:64] := b[63:32] + b[31:0]
dst[127:96] := b[127:96] + b[95:64]
dst[159:128] := a[191:160] + a[159:128]
dst[191:160] := a[255:224] + a[223:192]
dst[223:192] := b[191:160] + b[159:128]
dst[255:224] := b[255:224] + b[223:192]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPHADDD" xed="VPHADDD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hadds_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Horizontally add adjacent pairs of signed 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:16] + a[15:0])
dst[31:16] := Saturate16(a[63:48] + a[47:32])
dst[47:32] := Saturate16(a[95:80] + a[79:64])
dst[63:48] := Saturate16(a[127:112] + a[111:96])
dst[79:64] := Saturate16(b[31:16] + b[15:0])
dst[95:80] := Saturate16(b[63:48] + b[47:32])
dst[111:96] := Saturate16(b[95:80] + b[79:64])
dst[127:112] := Saturate16(b[127:112] + b[111:96])
dst[143:128] := Saturate16(a[159:144] + a[143:128])
dst[159:144] := Saturate16(a[191:176] + a[175:160])
dst[175:160] := Saturate16(a[223:208] + a[207:192])
dst[191:176] := Saturate16(a[255:240] + a[239:224])
dst[207:192] := Saturate16(b[159:144] + b[143:128])
dst[223:208] := Saturate16(b[191:176] + b[175:160])
dst[239:224] := Saturate16(b[223:208] + b[207:192])
dst[255:240] := Saturate16(b[255:240] + b[239:224])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPHADDSW" xed="VPHADDSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hsub_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Horizontally subtract adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := a[15:0] - a[31:16]
dst[31:16] := a[47:32] - a[63:48]
dst[47:32] := a[79:64] - a[95:80]
dst[63:48] := a[111:96] - a[127:112]
dst[79:64] := b[15:0] - b[31:16]
dst[95:80] := b[47:32] - b[63:48]
dst[111:96] := b[79:64] - b[95:80]
dst[127:112] := b[111:96] - b[127:112]
dst[143:128] := a[143:128] - a[159:144]
dst[159:144] := a[175:160] - a[191:176]
dst[175:160] := a[207:192] - a[223:208]
dst[191:176] := a[239:224] - a[255:240]
dst[207:192] := b[143:128] - b[159:144]
dst[223:208] := b[175:160] - b[191:176]
dst[239:224] := b[207:192] - b[223:208]
dst[255:240] := b[239:224] - b[255:240]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPHSUBW" xed="VPHSUBW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hsub_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Horizontally subtract adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] - a[63:32]
dst[63:32] := a[95:64] - a[127:96]
dst[95:64] := b[31:0] - b[63:32]
dst[127:96] := b[95:64] - b[127:96]
dst[159:128] := a[159:128] - a[191:160]
dst[191:160] := a[223:192] - a[255:224]
dst[223:192] := b[159:128] - b[191:160]
dst[255:224] := b[223:192] - b[255:224]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPHSUBD" xed="VPHSUBD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_hsubs_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Horizontally subtract adjacent pairs of signed 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[15:0] - a[31:16])
dst[31:16] := Saturate16(a[47:32] - a[63:48])
dst[47:32] := Saturate16(a[79:64] - a[95:80])
dst[63:48] := Saturate16(a[111:96] - a[127:112])
dst[79:64] := Saturate16(b[15:0] - b[31:16])
dst[95:80] := Saturate16(b[47:32] - b[63:48])
dst[111:96] := Saturate16(b[79:64] - b[95:80])
dst[127:112] := Saturate16(b[111:96] - b[127:112])
dst[143:128] := Saturate16(a[143:128] - a[159:144])
dst[159:144] := Saturate16(a[175:160] - a[191:176])
dst[175:160] := Saturate16(a[207:192] - a[223:208])
dst[191:176] := Saturate16(a[239:224] - a[255:240])
dst[207:192] := Saturate16(b[143:128] - b[159:144])
dst[223:208] := Saturate16(b[175:160] - b[191:176])
dst[239:224] := Saturate16(b[207:192] - b[223:208])
dst[255:240] := Saturate16(b[239:224] - b[255:240])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPHSUBSW" xed="VPHSUBSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_madd_epi16" tech="AVX_ALL">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMADDWD" xed="VPMADDWD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maddubs_epi16" tech="AVX_ALL">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Vertically multiply each unsigned 8-bit integer from "a" with the corresponding signed 8-bit integer from "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMADDUBSW" xed="VPMADDUBSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mul_epi32" tech="AVX_ALL">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULDQ" xed="VPMULDQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mul_epu32" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+31:i] * b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULUDQ" xed="VPMULUDQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mulhi_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULHW" xed="VPMULHW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mulhi_epu16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	tmp[31:0] := a[i+15:i] * b[i+15:i]
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULHUW" xed="VPMULHUW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mulhrs_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
	dst[i+15:i] := tmp[16:1]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULHRSW" xed="VPMULHRSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mullo_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[15:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULLW" xed="VPMULLW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mullo_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Multiply the packed signed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	tmp[63:0] := a[i+31:i] * b[i+31:i]
	dst[i+31:i] := tmp[31:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULLD" xed="VPMULLD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sad_epu8" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compute the absolute differences of packed unsigned 8-bit integers in "a" and "b", then horizontally sum each consecutive 8 differences to produce four unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low 16 bits of 64-bit elements in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	tmp[i+7:i] := ABS(a[i+7:i] - b[i+7:i])
ENDFOR
FOR j := 0 to 3
	i := j*64
	dst[i+15:i] := tmp[i+7:i] + tmp[i+15:i+8] + tmp[i+23:i+16] + tmp[i+31:i+24] + \
	               tmp[i+39:i+32] + tmp[i+47:i+40] + tmp[i+55:i+48] + tmp[i+63:i+56]
	dst[i+63:i+16] := 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSADBW" xed="VPSADBW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sign_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Negate packed signed 8-bit integers in "a" when the corresponding signed 8-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF b[i+7:i] &lt; 0
		dst[i+7:i] := -(a[i+7:i])
	ELSE IF b[i+7:i] == 0
		dst[i+7:i] := 0
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSIGNB" xed="VPSIGNB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sign_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Negate packed signed 16-bit integers in "a" when the corresponding signed 16-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF b[i+15:i] &lt; 0
		dst[i+15:i] := -(a[i+15:i])
	ELSE IF b[i+15:i] == 0
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSIGNW" xed="VPSIGNW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sign_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Negate packed signed 32-bit integers in "a" when the corresponding signed 32-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF b[i+31:i] &lt; 0
		dst[i+31:i] := -(a[i+31:i])
	ELSE IF b[i+31:i] == 0
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSIGND" xed="VPSIGND_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sub_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := a[i+7:i] - b[i+7:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBB" xed="VPSUBB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sub_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := a[i+15:i] - b[i+15:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBW" xed="VPSUBW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sub_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBD" xed="VPSUBD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sub_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] - b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBQ" xed="VPSUBQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_subs_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBSB" xed="VPSUBSB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_subs_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBSW" xed="VPSUBSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_subs_epu8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBUSB" xed="VPSUBUSB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_subs_epu16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSUBUSW" xed="VPSUBUSW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_alignr_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*128
	tmp[255:0] := ((a[i+127:i] &lt;&lt; 128)[255:0] OR b[i+127:i]) &gt;&gt; (imm8*8)
	dst[i+127:i] := tmp[127:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPALIGNR" xed="VPALIGNR_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movemask_epi8" tech="AVX_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Create mask from the most significant bit of each 8-bit element in "a", and store the result in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[j] := a[i+7]
ENDFOR
	</operation>
	<instruction form="r32, ymm" name="VPMOVMSKB" xed="VPMOVMSKB_GPR32d_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mpsadbw_epu8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst".
	Eight SADs are performed for each 128-bit lane using one quadruplet from "b" and eight quadruplets from "a". One quadruplet is selected from "b" starting at on the offset specified in "imm8". Eight quadruplets are formed from sequential 8-bit integers selected from "a" starting at the offset specified in "imm8".</description>
	<operation>
DEFINE MPSADBW(a[127:0], b[127:0], imm8[2:0]) {
	a_offset := imm8[2]*32
	b_offset := imm8[1:0]*32
	FOR j := 0 to 7
		i := j*8
		k := a_offset+i
		l := b_offset
		tmp[i*2+15:i*2] := ABS(Signed(a[k+7:k] - b[l+7:l])) + ABS(Signed(a[k+15:k+8] - b[l+15:l+8])) + \
		                   ABS(Signed(a[k+23:k+16] - b[l+23:l+16])) + ABS(Signed(a[k+31:k+24] - b[l+31:l+24]))
	ENDFOR
	RETURN tmp[127:0]
}
dst[127:0] := MPSADBW(a[127:0], b[127:0], imm8[2:0])
dst[255:128] := MPSADBW(a[255:128], b[255:128], imm8[5:3])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VMPSADBW" xed="VMPSADBW_YMMqq_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_packs_epi16" tech="AVX_ALL">
	<return etype="SI8" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := Saturate8(a[15:0])
dst[15:8] := Saturate8(a[31:16])
dst[23:16] := Saturate8(a[47:32])
dst[31:24] := Saturate8(a[63:48])
dst[39:32] := Saturate8(a[79:64])
dst[47:40] := Saturate8(a[95:80])
dst[55:48] := Saturate8(a[111:96])
dst[63:56] := Saturate8(a[127:112])
dst[71:64] := Saturate8(b[15:0])
dst[79:72] := Saturate8(b[31:16])
dst[87:80] := Saturate8(b[47:32])
dst[95:88] := Saturate8(b[63:48])
dst[103:96] := Saturate8(b[79:64])
dst[111:104] := Saturate8(b[95:80])
dst[119:112] := Saturate8(b[111:96])
dst[127:120] := Saturate8(b[127:112])
dst[135:128] := Saturate8(a[143:128])
dst[143:136] := Saturate8(a[159:144])
dst[151:144] := Saturate8(a[175:160])
dst[159:152] := Saturate8(a[191:176])
dst[167:160] := Saturate8(a[207:192])
dst[175:168] := Saturate8(a[223:208])
dst[183:176] := Saturate8(a[239:224])
dst[191:184] := Saturate8(a[255:240])
dst[199:192] := Saturate8(b[143:128])
dst[207:200] := Saturate8(b[159:144])
dst[215:208] := Saturate8(b[175:160])
dst[223:216] := Saturate8(b[191:176])
dst[231:224] := Saturate8(b[207:192])
dst[239:232] := Saturate8(b[223:208])
dst[247:240] := Saturate8(b[239:224])
dst[255:248] := Saturate8(b[255:240])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPACKSSWB" xed="VPACKSSWB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_packs_epi32" tech="AVX_ALL">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:0])
dst[31:16] := Saturate16(a[63:32])
dst[47:32] := Saturate16(a[95:64])
dst[63:48] := Saturate16(a[127:96])
dst[79:64] := Saturate16(b[31:0])
dst[95:80] := Saturate16(b[63:32])
dst[111:96] := Saturate16(b[95:64])
dst[127:112] := Saturate16(b[127:96])
dst[143:128] := Saturate16(a[159:128])
dst[159:144] := Saturate16(a[191:160])
dst[175:160] := Saturate16(a[223:192])
dst[191:176] := Saturate16(a[255:224])
dst[207:192] := Saturate16(b[159:128])
dst[223:208] := Saturate16(b[191:160])
dst[239:224] := Saturate16(b[223:192])
dst[255:240] := Saturate16(b[255:224])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPACKSSDW" xed="VPACKSSDW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_packus_epi16" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := SaturateU8(a[15:0])
dst[15:8] := SaturateU8(a[31:16])
dst[23:16] := SaturateU8(a[47:32])
dst[31:24] := SaturateU8(a[63:48])
dst[39:32] := SaturateU8(a[79:64])
dst[47:40] := SaturateU8(a[95:80])
dst[55:48] := SaturateU8(a[111:96])
dst[63:56] := SaturateU8(a[127:112])
dst[71:64] := SaturateU8(b[15:0])
dst[79:72] := SaturateU8(b[31:16])
dst[87:80] := SaturateU8(b[47:32])
dst[95:88] := SaturateU8(b[63:48])
dst[103:96] := SaturateU8(b[79:64])
dst[111:104] := SaturateU8(b[95:80])
dst[119:112] := SaturateU8(b[111:96])
dst[127:120] := SaturateU8(b[127:112])
dst[135:128] := SaturateU8(a[143:128])
dst[143:136] := SaturateU8(a[159:144])
dst[151:144] := SaturateU8(a[175:160])
dst[159:152] := SaturateU8(a[191:176])
dst[167:160] := SaturateU8(a[207:192])
dst[175:168] := SaturateU8(a[223:208])
dst[183:176] := SaturateU8(a[239:224])
dst[191:184] := SaturateU8(a[255:240])
dst[199:192] := SaturateU8(b[143:128])
dst[207:200] := SaturateU8(b[159:144])
dst[215:208] := SaturateU8(b[175:160])
dst[223:216] := SaturateU8(b[191:176])
dst[231:224] := SaturateU8(b[207:192])
dst[239:232] := SaturateU8(b[223:208])
dst[247:240] := SaturateU8(b[239:224])
dst[255:248] := SaturateU8(b[255:240])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPACKUSWB" xed="VPACKUSWB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_packus_epi32" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := SaturateU16(a[31:0])
dst[31:16] := SaturateU16(a[63:32])
dst[47:32] := SaturateU16(a[95:64])
dst[63:48] := SaturateU16(a[127:96])
dst[79:64] := SaturateU16(b[31:0])
dst[95:80] := SaturateU16(b[63:32])
dst[111:96] := SaturateU16(b[95:64])
dst[127:112] := SaturateU16(b[127:96])
dst[143:128] := SaturateU16(a[159:128])
dst[159:144] := SaturateU16(a[191:160])
dst[175:160] := SaturateU16(a[223:192])
dst[191:176] := SaturateU16(a[255:224])
dst[207:192] := SaturateU16(b[159:128])
dst[223:208] := SaturateU16(b[191:160])
dst[239:224] := SaturateU16(b[223:192])
dst[255:240] := SaturateU16(b[255:224])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPACKUSDW" xed="VPACKUSDW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_and_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of 256 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[255:0] := (a[255:0] AND b[255:0])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPAND" xed="VPAND_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_andnot_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<description>Compute the bitwise NOT of 256 bits (representing integer data) in "a" and then AND with "b", and store the result in "dst".</description>
	<operation>
dst[255:0] := ((NOT a[255:0]) AND b[255:0])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPANDN" xed="VPANDN_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_or_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<description>Compute the bitwise OR of 256 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[255:0] := (a[255:0] OR b[255:0])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPOR" xed="VPOR_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_xor_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m256i" varname="a" />
	<parameter etype="M256" type="__m256i" varname="b" />
	<description>Compute the bitwise XOR of 256 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[255:0] := (a[255:0] XOR b[255:0])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPXOR" xed="VPXOR_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_avg_epu8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPAVGB" xed="VPAVGB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_avg_epu16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPAVGW" xed="VPAVGW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed 8-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := ( a[i+7:i] == b[i+7:i] ) ? 0xFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPEQB" xed="VPCMPEQB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed 16-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ( a[i+15:i] == b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPEQW" xed="VPCMPEQW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ( a[i+31:i] == b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPEQD" xed="VPCMPEQD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed 64-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ( a[i+63:i] == b[i+63:i] ) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPEQQ" xed="VPCMPEQQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi8" tech="AVX_ALL">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := ( a[i+7:i] &gt; b[i+7:i] ) ? 0xFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPGTB" xed="VPCMPGTB_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ( a[i+15:i] &gt; b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPGTW" xed="VPCMPGTW_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &gt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPGTD" xed="VPCMPGTD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ( a[i+63:i] &gt; b[i+63:i] ) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPCMPGTQ" xed="VPCMPGTQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi16_epi32" tech="AVX_ALL">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j:= 0 to 7
	i := 32*j
	k := 16*j
	dst[i+31:i] := SignExtend32(a[k+15:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVSXWD" xed="VPMOVSXWD_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi16_epi64" tech="AVX_ALL">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j:= 0 to 3
	i := 64*j
	k := 16*j
	dst[i+63:i] := SignExtend64(a[k+15:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi32_epi64" tech="AVX_ALL">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j:= 0 to 3
	i := 64*j
	k := 32*j
	dst[i+63:i] := SignExtend64(a[k+31:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVSXDQ" xed="VPMOVSXDQ_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi8_epi16" tech="AVX_ALL">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	l := j*16
	dst[l+15:l] := SignExtend16(a[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVSXBW" xed="VPMOVSXBW_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi8_epi32" tech="AVX_ALL">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 8*j
	dst[i+31:i] := SignExtend32(a[k+7:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi8_epi64" tech="AVX_ALL">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 8*j
	dst[i+63:i] := SignExtend64(a[k+7:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_YMMqq_XMMd" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu16_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 16*j
	dst[i+31:i] := ZeroExtend32(a[k+15:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVZXWD" xed="VPMOVZXWD_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu16_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j:= 0 to 3
	i := 64*j
	k := 16*j
	dst[i+63:i] := ZeroExtend64(a[k+15:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu32_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j:= 0 to 3
	i := 64*j
	k := 32*j
	dst[i+63:i] := ZeroExtend64(a[k+31:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVZXDQ" xed="VPMOVZXDQ_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu8_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	l := j*16
	dst[l+15:l] := ZeroExtend16(a[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVZXBW" xed="VPMOVZXBW_YMMqq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu8_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 8*j
	dst[i+31:i] := ZeroExtend32(a[k+7:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu8_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 8 byte sof "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 8*j
	dst[i+63:i] := ZeroExtend64(a[k+7:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_YMMqq_XMMd" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_i32gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VGATHERDPD" xed="VGATHERDPD_XMMf64_MEMf64_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i32gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VGATHERDPD" xed="VGATHERDPD_YMMf64_MEMf64_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_i32gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VGATHERDPS" xed="VGATHERDPS_XMMf32_MEMf32_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i32gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VGATHERDPS" xed="VGATHERDPS_YMMf32_MEMf32_YMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_i32gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VPGATHERDD" xed="VPGATHERDD_XMMu32_MEMd_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i32gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VPGATHERDD" xed="VPGATHERDD_YMMu32_MEMd_YMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_i32gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VPGATHERDQ" xed="VPGATHERDQ_XMMu64_MEMq_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i32gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VPGATHERDQ" xed="VPGATHERDQ_YMMu64_MEMq_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_i64gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VGATHERQPD" xed="VGATHERQPD_XMMf64_MEMf64_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i64gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm64x, ymm" name="VGATHERQPD" xed="VGATHERQPD_YMMf64_MEMf64_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_i64gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VGATHERQPS" xed="VGATHERQPS_XMMf32_MEMf32_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i64gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64y, xmm" name="VGATHERQPS" xed="VGATHERQPS_XMMf32_MEMf32_XMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_i64gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VPGATHERQD" xed="VPGATHERQD_XMMu32_MEMd_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i64gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64y, xmm" name="VPGATHERQD" xed="VPGATHERQD_XMMu32_MEMd_XMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_i64gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VPGATHERQQ" xed="VPGATHERQQ_XMMu64_MEMq_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_i64gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm64x, ymm" name="VPGATHERQQ" xed="VPGATHERQQ_YMMu64_MEMq_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128d" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	IF mask[i+63]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VGATHERDPD" xed="VGATHERDPD_XMMf64_MEMf64_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m256d" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	IF mask[i+63]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:256] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VGATHERDPD" xed="VGATHERDPD_YMMf64_MEMf64_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	IF mask[i+31]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VGATHERDPS" xed="VGATHERDPS_XMMf32_MEMf32_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="MASK" type="__m256" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	IF mask[i+31]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:256] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VGATHERDPS" xed="VGATHERDPS_YMMf32_MEMf32_YMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	IF mask[i+31]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VPGATHERDD" xed="VPGATHERDD_XMMu32_MEMd_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	IF mask[i+31]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:256] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VPGATHERDD" xed="VPGATHERDD_YMMu32_MEMd_YMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	IF mask[i+63]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm32x, xmm" name="VPGATHERDQ" xed="VPGATHERDQ_XMMu64_MEMq_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	IF mask[i+63]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:256] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm32x, ymm" name="VPGATHERDQ" xed="VPGATHERDQ_YMMu64_MEMq_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128d" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	IF mask[i+63]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VGATHERQPD" xed="VGATHERQPD_XMMf64_MEMf64_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64gather_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="FP64" type="double const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="MASK" type="__m256d" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	IF mask[i+63]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:256] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm64x, ymm" name="VGATHERQPD" xed="VGATHERQPD_YMMf64_MEMf64_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF mask[i+31]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:64] := 0
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VGATHERQPS" xed="VGATHERQPS_XMMf32_MEMf32_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64gather_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="FP32" type="float const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="MASK" type="__m128" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF mask[i+31]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64y, xmm" name="VGATHERQPS" xed="VGATHERQPS_XMMf32_MEMf32_XMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF mask[i+31]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:64] := 0
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VPGATHERQD" xed="VPGATHERQD_XMMu32_MEMd_XMMi32_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64gather_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="UI32" type="int const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF mask[i+31]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64y, xmm" name="VPGATHERQD" xed="VPGATHERQD_XMMu32_MEMd_XMMi32_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	IF mask[i+63]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:128] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, vm64x, xmm" name="VPGATHERQQ" xed="VPGATHERQQ_XMMu64_MEMq_XMMi64_VL128" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64gather_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="UI64" type="__int64 const*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using "mask" (elements are copied from "src" when the highest bit is not set in the corresponding element). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	IF mask[i+63]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
mask[MAX:256] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm64x, ymm" name="VPGATHERQQ" xed="VPGATHERQQ_YMMu64_MEMq_YMMi64_VL256" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskload_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" memwidth="128" type="int const*" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<description>Load packed 32-bit integers from memory into "dst" using "mask" (elements are zeroed out when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF mask[i+31]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, m128" name="VPMASKMOVD" xed="VPMASKMOVD_XMMdq_XMMdq_MEMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskload_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" memwidth="256" type="int const*" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<description>Load packed 32-bit integers from memory into "dst" using "mask" (elements are zeroed out when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF mask[i+31]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, m256" name="VPMASKMOVD" xed="VPMASKMOVD_YMMqq_YMMqq_MEMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskload_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" memwidth="128" type="__int64 const*" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<description>Load packed 64-bit integers from memory into "dst" using "mask" (elements are zeroed out when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF mask[i+63]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, m128" name="VPMASKMOVQ" xed="VPMASKMOVQ_XMMdq_XMMdq_MEMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskload_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" memwidth="256" type="__int64 const*" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<description>Load packed 64-bit integers from memory into "dst" using "mask" (elements are zeroed out when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF mask[i+63]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, m256" name="VPMASKMOVQ" xed="VPMASKMOVQ_YMMqq_YMMqq_MEMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_stream_load_si256" tech="AVX_ALL">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits of integer data from memory into "dst" using a non-temporal memory hint.
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVNTDQA" xed="VMOVNTDQA_YMMqq_MEMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskstore_epi32" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="int*" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using "mask" (elements are not stored when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF mask[i+31]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128, xmm, xmm" name="VPMASKMOVD" xed="VPMASKMOVD_MEMdq_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_maskstore_epi32" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="int*" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using "mask" (elements are not stored when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF mask[i+31]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256, ymm, ymm" name="VPMASKMOVD" xed="VPMASKMOVD_MEMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_maskstore_epi64" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="UI64" memwidth="128" type="__int64*" varname="mem_addr" />
	<parameter etype="MASK" type="__m128i" varname="mask" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using "mask" (elements are not stored when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF mask[i+63]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128, xmm, xmm" name="VPMASKMOVQ" xed="VPMASKMOVQ_MEMdq_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_maskstore_epi64" tech="AVX_ALL">
	<return type="void" />
	<parameter etype="UI64" memwidth="256" type="__int64*" varname="mem_addr" />
	<parameter etype="MASK" type="__m256i" varname="mask" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using "mask" (elements are not stored when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF mask[i+63]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256, ymm, ymm" name="VPMASKMOVQ" xed="VPMASKMOVQ_MEMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_slli_si256" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shift 128-bit lanes in "a" left by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &lt;&lt; (tmp*8)
dst[255:128] := a[255:128] &lt;&lt; (tmp*8)
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSLLDQ" xed="VPSLLDQ_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_bslli_epi128" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shift 128-bit lanes in "a" left by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &lt;&lt; (tmp*8)
dst[255:128] := a[255:128] &lt;&lt; (tmp*8)
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSLLDQ" xed="VPSLLDQ_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sll_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSLLW" xed="VPSLLW_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_slli_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSLLW" xed="VPSLLW_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sll_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSLLD" xed="VPSLLD_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_slli_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSLLD" xed="VPSLLD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sll_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSLLQ" xed="VPSLLQ_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_slli_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSLLQ" xed="VPSLLQ_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sllv_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSLLVD" xed="VPSLLVD_XMMdq_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sllv_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSLLVD" xed="VPSLLVD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sllv_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSLLVQ" xed="VPSLLVQ_XMMdq_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sllv_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSLLVQ" xed="VPSLLVQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sra_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSRAW" xed="VPSRAW_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srai_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRAW" xed="VPSRAW_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sra_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSRAD" xed="VPSRAD_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srai_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRAD" xed="VPSRAD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srav_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
	ELSE
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSRAVD" xed="VPSRAVD_XMMdq_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srav_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
	ELSE
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSRAVD" xed="VPSRAVD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srli_si256" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shift 128-bit lanes in "a" right by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &gt;&gt; (tmp*8)
dst[255:128] := a[255:128] &gt;&gt; (tmp*8)
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRLDQ" xed="VPSRLDQ_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_bsrli_epi128" tech="AVX_ALL">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shift 128-bit lanes in "a" right by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &gt;&gt; (tmp*8)
dst[255:128] := a[255:128] &gt;&gt; (tmp*8)
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRLDQ" xed="VPSRLDQ_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srl_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSRLW" xed="VPSRLW_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srli_epi16" tech="AVX_ALL">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRLW" xed="VPSRLW_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srl_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSRLD" xed="VPSRLD_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srli_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRLD" xed="VPSRLD_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srl_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSRLQ" xed="VPSRLQ_YMMqq_YMMqq_XMMq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srli_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRLQ" xed="VPSRLQ_YMMqq_YMMqq_IMMb" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srlv_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSRLVD" xed="VPSRLVD_XMMdq_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srlv_epi32" tech="AVX_ALL">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSRLVD" xed="VPSRLVD_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srlv_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSRLVQ" xed="VPSRLVQ_XMMdq_XMMdq_XMMdq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srlv_epi64" tech="AVX_ALL">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSRLVQ" xed="VPSRLVQ_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst".
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected from within 128-bit lanes according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
FOR i := 0 to 1
	tmp.m128[i].dword[0] := b.m128[i].dword[ imm8[1:0] ]
	tmp.m128[i].dword[1] := b.m128[i].dword[ imm8[3:2] ]
	tmp.m128[i].dword[2] := b.m128[i].dword[ imm8[5:4] ]
	tmp.m128[i].dword[3] := b.m128[i].dword[ imm8[7:6] ]
ENDFOR
FOR j := 0 to 3
	i := j*64
	dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	               ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                  ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                  ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                  ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VDBPSADBW" xed="VDBPSADBW_YMMu16_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected from within 128-bit lanes according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
FOR i := 0 to 1
	tmp.m128[i].dword[0] := b.m128[i].dword[ imm8[1:0] ]
	tmp.m128[i].dword[1] := b.m128[i].dword[ imm8[3:2] ]
	tmp.m128[i].dword[2] := b.m128[i].dword[ imm8[5:4] ]
	tmp.m128[i].dword[3] := b.m128[i].dword[ imm8[7:6] ]
ENDFOR
FOR j := 0 to 3
	i := j*64
	tmp_dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	                   ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	tmp_dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                      ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	tmp_dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                      ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	tmp_dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                      ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VDBPSADBW" xed="VDBPSADBW_YMMu16_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected from within 128-bit lanes according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
FOR i := 0 to 1
	tmp.m128[i].dword[0] := b.m128[i].dword[ imm8[1:0] ]
	tmp.m128[i].dword[1] := b.m128[i].dword[ imm8[3:2] ]
	tmp.m128[i].dword[2] := b.m128[i].dword[ imm8[5:4] ]
	tmp.m128[i].dword[3] := b.m128[i].dword[ imm8[7:6] ]
ENDFOR
FOR j := 0 to 3
	i := j*64
	tmp_dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	                   ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	tmp_dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                      ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	tmp_dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                      ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	tmp_dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                      ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VDBPSADBW" xed="VDBPSADBW_YMMu16_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst".
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
tmp.dword[0] := b.dword[ imm8[1:0] ]
tmp.dword[1] := b.dword[ imm8[3:2] ]
tmp.dword[2] := b.dword[ imm8[5:4] ]
tmp.dword[3] := b.dword[ imm8[7:6] ]
FOR j := 0 to 1
	i := j*64
	dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	               ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                  ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                  ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                  ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VDBPSADBW" xed="VDBPSADBW_XMMu16_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
tmp.dword[0] := b.dword[ imm8[1:0] ]
tmp.dword[1] := b.dword[ imm8[3:2] ]
tmp.dword[2] := b.dword[ imm8[5:4] ]
tmp.dword[3] := b.dword[ imm8[7:6] ]
FOR j := 0 to 1
	i := j*64
	tmp_dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	                   ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	tmp_dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                      ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	tmp_dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                      ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	tmp_dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                      ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VDBPSADBW" xed="VDBPSADBW_XMMu16_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
tmp.dword[0] := b.dword[ imm8[1:0] ]
tmp.dword[1] := b.dword[ imm8[3:2] ]
tmp.dword[2] := b.dword[ imm8[5:4] ]
tmp.dword[3] := b.dword[ imm8[7:6] ]
FOR j := 0 to 1
	i := j*64
	tmp_dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	                   ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	tmp_dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                      ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	tmp_dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                      ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	tmp_dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                      ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VDBPSADBW" xed="VDBPSADBW_XMMu16_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_alignr_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*128
	tmp[255:0] := ((a[i+127:i] &lt;&lt; 128)[255:0] OR b[i+127:i]) &gt;&gt; (imm8*8)
	tmp_dst[i+127:i] := tmp[127:0]
ENDFOR
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPALIGNR" xed="VPALIGNR_YMMu8_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_alignr_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*128
	tmp[255:0] := ((a[i+127:i] &lt;&lt; 128)[255:0] OR b[i+127:i]) &gt;&gt; (imm8*8)
	tmp_dst[i+127:i] := tmp[127:0]
ENDFOR
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPALIGNR" xed="VPALIGNR_YMMu8_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_alignr_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[255:0] := ((a[127:0] &lt;&lt; 128)[255:0] OR b[127:0]) &gt;&gt; (imm8*8)
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPALIGNR" xed="VPALIGNR_XMMu8_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_alignr_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[255:0] := ((a[127:0] &lt;&lt; 128)[255:0] OR b[127:0]) &gt;&gt; (imm8*8)
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPALIGNR" xed="VPALIGNR_XMMu8_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_blend_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Blend packed 8-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := b[i+7:i]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPBLENDMB" xed="VPBLENDMB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_blend_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Blend packed 8-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := b[i+7:i]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPBLENDMB" xed="VPBLENDMB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_blend_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Blend packed 16-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := b[i+15:i]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPBLENDMW" xed="VPBLENDMW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_blend_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Blend packed 16-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := b[i+15:i]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPBLENDMW" xed="VPBLENDMW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcastb_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_YMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcastb_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_YMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_broadcastb_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_broadcastb_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcastw_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_YMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcastw_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_YMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_broadcastw_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_broadcastw_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask2_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		off := 16*idx[i+3:i]
		dst[i+15:i] := idx[i+4] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := idx[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMI2W" xed="VPERMI2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		off := 16*idx[i+3:i]
		dst[i+15:i] := idx[i+4] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMT2W" xed="VPERMT2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		off := 16*idx[i+3:i]
		dst[i+15:i] := idx[i+4] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMI2W" xed="VPERMI2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VPERMT2W" xed="VPERMT2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	off := 16*idx[i+3:i]
	dst[i+15:i] := idx[i+4] ? b[off+15:off] : a[off+15:off]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMI2W" xed="VPERMI2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VPERMT2W" xed="VPERMT2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask2_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		off := 16*idx[i+2:i]
		dst[i+15:i] := idx[i+3] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := idx[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMI2W" xed="VPERMI2W_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		off := 16*idx[i+2:i]
		dst[i+15:i] := idx[i+3] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMT2W" xed="VPERMT2W_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		off := 16*idx[i+2:i]
		dst[i+15:i] := idx[i+3] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMI2W" xed="VPERMI2W_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VPERMT2W" xed="VPERMT2W_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	off := 16*idx[i+2:i]
	dst[i+15:i] := idx[i+3] ? b[off+15:off] : a[off+15:off]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMI2W" xed="VPERMI2W_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VPERMT2W" xed="VPERMT2W_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Shuffle 16-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	id := idx[i+3:i]*16
	IF k[j]
		dst[i+15:i] := a[id+15:id]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMW" xed="VPERMW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Shuffle 16-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	id := idx[i+3:i]*16
	IF k[j]
		dst[i+15:i] := a[id+15:id]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMW" xed="VPERMW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Shuffle 16-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	id := idx[i+3:i]*16
	dst[i+15:i] := a[id+15:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMW" xed="VPERMW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Shuffle 16-bit integers in "a" using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	id := idx[i+2:i]*16
	IF k[j]
		dst[i+15:i] := a[id+15:id]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMW" xed="VPERMW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Shuffle 16-bit integers in "a" using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	id := idx[i+2:i]*16
	IF k[j]
		dst[i+15:i] := a[id+15:id]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMW" xed="VPERMW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Shuffle 16-bit integers in "a" using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	id := idx[i+2:i]*16
	dst[i+15:i] := a[id+15:id]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMW" xed="VPERMW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movepi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 8-bit integer in "a".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF a[i+7]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm" name="VPMOVB2M" xed="VPMOVB2M_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movepi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 8-bit integer in "a".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF a[i+7]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm" name="VPMOVB2M" xed="VPMOVB2M_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movm_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Set each packed 8-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := 0xFF
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm" name="VPMOVM2B" xed="VPMOVM2B_YMMu8_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movm_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Set each packed 8-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := 0xFF
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm" name="VPMOVM2B" xed="VPMOVM2B_XMMu8_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movm_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Set each packed 16-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := 0xFFFF
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm" name="VPMOVM2W" xed="VPMOVM2W_YMMu16_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movm_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Set each packed 16-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := 0xFFFF
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm" name="VPMOVM2W" xed="VPMOVM2W_XMMu16_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movepi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 16-bit integer in "a".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF a[i+15]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm" name="VPMOVW2M" xed="VPMOVW2M_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movepi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 16-bit integer in "a".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF a[i+15]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm" name="VPMOVW2M" xed="VPMOVW2M_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		IF b[i+7] == 1
			dst[i+7:i] := 0
		ELSE
			index[4:0] := b[i+3:i] + (j &amp; 0x10)
			dst[i+7:i] := a[index*8+7:index*8]
		FI
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSHUFB" xed="VPSHUFB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		IF b[i+7] == 1
			dst[i+7:i] := 0
		ELSE
			index[4:0] := b[i+3:i] + (j &amp; 0x10)
			dst[i+7:i] := a[index*8+7:index*8]
		FI
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSHUFB" xed="VPSHUFB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shuffle_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		IF b[i+7] == 1
			dst[i+7:i] := 0
		ELSE
			index[3:0] := b[i+3:i]
			dst[i+7:i] := a[index*8+7:index*8]
		FI
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSHUFB" xed="VPSHUFB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shuffle_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		IF b[i+7] == 1
			dst[i+7:i] := 0
		ELSE
			index[3:0] := b[i+3:i]
			dst[i+7:i] := a[index*8+7:index*8]
		FI
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSHUFB" xed="VPSHUFB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shufflehi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the high 64 bits of 128-bit lanes of "dst", with the low 64 bits of 128-bit lanes being copied from from "a" to "dst", using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := a[63:0]
tmp_dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
tmp_dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
tmp_dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
tmp_dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
tmp_dst[191:128] := a[191:128]
tmp_dst[207:192] := (a &gt;&gt; (imm8[1:0] * 16))[207:192]
tmp_dst[223:208] := (a &gt;&gt; (imm8[3:2] * 16))[207:192]
tmp_dst[239:224] := (a &gt;&gt; (imm8[5:4] * 16))[207:192]
tmp_dst[255:240] := (a &gt;&gt; (imm8[7:6] * 16))[207:192]
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSHUFHW" xed="VPSHUFHW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shufflehi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the high 64 bits of 128-bit lanes of "dst", with the low 64 bits of 128-bit lanes being copied from from "a" to "dst", using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := a[63:0]
tmp_dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
tmp_dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
tmp_dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
tmp_dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
tmp_dst[191:128] := a[191:128]
tmp_dst[207:192] := (a &gt;&gt; (imm8[1:0] * 16))[207:192]
tmp_dst[223:208] := (a &gt;&gt; (imm8[3:2] * 16))[207:192]
tmp_dst[239:224] := (a &gt;&gt; (imm8[5:4] * 16))[207:192]
tmp_dst[255:240] := (a &gt;&gt; (imm8[7:6] * 16))[207:192]
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSHUFHW" xed="VPSHUFHW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shufflehi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of "a" using the control in "imm8". Store the results in the high 64 bits of "dst", with the low 64 bits being copied from from "a" to "dst", using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := a[63:0]
tmp_dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
tmp_dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
tmp_dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
tmp_dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSHUFHW" xed="VPSHUFHW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shufflehi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of "a" using the control in "imm8". Store the results in the high 64 bits of "dst", with the low 64 bits being copied from from "a" to "dst", using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := a[63:0]
tmp_dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
tmp_dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
tmp_dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
tmp_dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSHUFHW" xed="VPSHUFHW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shufflelo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the low 64 bits of 128-bit lanes of "dst", with the high 64 bits of 128-bit lanes being copied from from "a" to "dst", using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
tmp_dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
tmp_dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
tmp_dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
tmp_dst[127:64] := a[127:64]
tmp_dst[143:128] := (a &gt;&gt; (imm8[1:0] * 16))[143:128]
tmp_dst[159:144] := (a &gt;&gt; (imm8[3:2] * 16))[143:128]
tmp_dst[175:160] := (a &gt;&gt; (imm8[5:4] * 16))[143:128]
tmp_dst[191:176] := (a &gt;&gt; (imm8[7:6] * 16))[143:128]
tmp_dst[255:192] := a[255:192]
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSHUFLW" xed="VPSHUFLW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shufflelo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the low 64 bits of 128-bit lanes of "dst", with the high 64 bits of 128-bit lanes being copied from from "a" to "dst", using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
tmp_dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
tmp_dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
tmp_dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
tmp_dst[127:64] := a[127:64]
tmp_dst[143:128] := (a &gt;&gt; (imm8[1:0] * 16))[143:128]
tmp_dst[159:144] := (a &gt;&gt; (imm8[3:2] * 16))[143:128]
tmp_dst[175:160] := (a &gt;&gt; (imm8[5:4] * 16))[143:128]
tmp_dst[191:176] := (a &gt;&gt; (imm8[7:6] * 16))[143:128]
tmp_dst[255:192] := a[255:192]
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSHUFLW" xed="VPSHUFLW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shufflelo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of "a" using the control in "imm8". Store the results in the low 64 bits of "dst", with the high 64 bits being copied from from "a" to "dst", using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
tmp_dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
tmp_dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
tmp_dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
tmp_dst[127:64] := a[127:64]
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSHUFLW" xed="VPSHUFLW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shufflelo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of "a" using the control in "imm8". Store the results in the low 64 bits of "dst", with the high 64 bits being copied from from "a" to "dst", using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
tmp_dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
tmp_dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
tmp_dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
tmp_dst[127:64] := a[127:64]
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSHUFLW" xed="VPSHUFLW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpackhi_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_BYTES(a[255:128], b[255:128])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKHBW" xed="VPUNPCKHBW_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpackhi_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_BYTES(a[255:128], b[255:128])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKHBW" xed="VPUNPCKHBW_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpackhi_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKHBW" xed="VPUNPCKHBW_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpackhi_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKHBW" xed="VPUNPCKHBW_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpackhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_WORDS(a[255:128], b[255:128])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKHWD" xed="VPUNPCKHWD_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpackhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_WORDS(a[255:128], b[255:128])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKHWD" xed="VPUNPCKHWD_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpackhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKHWD" xed="VPUNPCKHWD_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpackhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKHWD" xed="VPUNPCKHWD_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpacklo_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_BYTES(a[255:128], b[255:128])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKLBW" xed="VPUNPCKLBW_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpacklo_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_BYTES(a[255:128], b[255:128])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKLBW" xed="VPUNPCKLBW_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpacklo_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKLBW" xed="VPUNPCKLBW_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpacklo_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKLBW" xed="VPUNPCKLBW_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpacklo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_WORDS(a[255:128], b[255:128])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKLWD" xed="VPUNPCKLWD_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpacklo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_WORDS(a[255:128], b[255:128])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKLWD" xed="VPUNPCKLWD_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpacklo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKLWD" xed="VPUNPCKLWD_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpacklo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKLWD" xed="VPUNPCKLWD_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 16-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+i+15:mem_addr+i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m256" name="VMOVDQU16" xed="VMOVDQU16_YMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 16-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+i+15:mem_addr+i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VMOVDQU16" xed="VMOVDQU16_YMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 16-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+i+15:mem_addr+i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VMOVDQU16" xed="VMOVDQU16_XMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 16-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+i+15:mem_addr+i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VMOVDQU16" xed="VMOVDQU16_XMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 8-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+i+7:mem_addr+i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m256" name="VMOVDQU8" xed="VMOVDQU8_YMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 8-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+i+7:mem_addr+i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VMOVDQU8" xed="VMOVDQU8_YMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 8-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+i+7:mem_addr+i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VMOVDQU8" xed="VMOVDQU8_XMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 8-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+i+7:mem_addr+i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VMOVDQU8" xed="VMOVDQU8_XMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 16 packed 16-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQU16" xed="VMOVDQU16_YMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 32 packed 8-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQU8" xed="VMOVDQU8_YMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 8 packed 16-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="VMOVDQU16" xed="VMOVDQU16_XMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 16 packed 8-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="VMOVDQU8" xed="VMOVDQU8_XMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mov_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Move packed 16-bit integers from "a" into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVDQU16" xed="VMOVDQU16_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mov_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Move packed 16-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVDQU16" xed="VMOVDQU16_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mov_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Move packed 16-bit integers from "a" into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVDQU16" xed="VMOVDQU16_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mov_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Move packed 16-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVDQU16" xed="VMOVDQU16_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mov_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Move packed 8-bit integers from "a" into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVDQU8" xed="VMOVDQU8_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mov_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Move packed 8-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVDQU8" xed="VMOVDQU8_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mov_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Move packed 8-bit integers from "a" into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVDQU8" xed="VMOVDQU8_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mov_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Move packed 8-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVDQU8" xed="VMOVDQU8_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_storeu_epi16" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI16" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Store packed 16-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		MEM[mem_addr+i+15:mem_addr+i] := a[i+15:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVDQU16" xed="VMOVDQU16_MEMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_storeu_epi16" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI16" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Store packed 16-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		MEM[mem_addr+i+15:mem_addr+i] := a[i+15:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVDQU16" xed="VMOVDQU16_MEMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_storeu_epi8" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI8" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Store packed 8-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVDQU8" xed="VMOVDQU8_MEMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_storeu_epi8" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI8" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Store packed 8-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVDQU8" xed="VMOVDQU8_MEMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_epi16" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI16" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Store 256-bits (composed of 16 packed 16-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQU16" xed="VMOVDQU16_MEMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_epi8" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI8" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Store 256-bits (composed of 32 packed 8-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQU8" xed="VMOVDQU8_MEMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_epi16" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI16" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Store 128-bits (composed of 8 packed 16-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="VMOVDQU16" xed="VMOVDQU16_MEMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_epi8" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI8" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Store 128-bits (composed of 16 packed 8-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="VMOVDQU8" xed="VMOVDQU8_MEMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_abs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := ABS(a[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPABSB" xed="VPABSB_YMMi8_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_abs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := ABS(a[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPABSB" xed="VPABSB_YMMi8_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_abs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := ABS(a[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPABSB" xed="VPABSB_XMMi8_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_abs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := ABS(a[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPABSB" xed="VPABSB_XMMi8_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_abs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := ABS(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPABSW" xed="VPABSW_YMMi16_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_abs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := ABS(a[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPABSW" xed="VPABSW_YMMi16_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_abs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := ABS(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPABSW" xed="VPABSW_XMMi16_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_abs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := ABS(a[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPABSW" xed="VPABSW_XMMi16_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_add_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] + b[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDB" xed="VPADDB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_add_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] + b[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDB" xed="VPADDB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] + b[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDB" xed="VPADDB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] + b[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDB" xed="VPADDB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_adds_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDSB" xed="VPADDSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_adds_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDSB" xed="VPADDSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_adds_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDSB" xed="VPADDSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_adds_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDSB" xed="VPADDSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_adds_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDSW" xed="VPADDSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_adds_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDSW" xed="VPADDSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_adds_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDSW" xed="VPADDSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_adds_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDSW" xed="VPADDSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_adds_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDUSB" xed="VPADDUSB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_adds_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDUSB" xed="VPADDUSB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_adds_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDUSB" xed="VPADDUSB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_adds_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDUSB" xed="VPADDUSB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_adds_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDUSW" xed="VPADDUSW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_adds_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDUSW" xed="VPADDUSW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_adds_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDUSW" xed="VPADDUSW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_adds_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDUSW" xed="VPADDUSW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_add_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] + b[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDW" xed="VPADDW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_add_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] + b[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDW" xed="VPADDW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] + b[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDW" xed="VPADDW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] + b[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDW" xed="VPADDW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_avg_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPAVGB" xed="VPAVGB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_avg_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPAVGB" xed="VPAVGB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_avg_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPAVGB" xed="VPAVGB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_avg_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPAVGB" xed="VPAVGB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_avg_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPAVGW" xed="VPAVGW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_avg_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPAVGW" xed="VPAVGW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_avg_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPAVGW" xed="VPAVGW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_avg_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPAVGW" xed="VPAVGW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_maddubs_epi16" tech="AVX-512">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply packed unsigned 8-bit integers in "a" by packed signed 8-bit integers in "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMADDUBSW" xed="VPMADDUBSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_maddubs_epi16" tech="AVX-512">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply packed unsigned 8-bit integers in "a" by packed signed 8-bit integers in "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMADDUBSW" xed="VPMADDUBSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_maddubs_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply packed unsigned 8-bit integers in "a" by packed signed 8-bit integers in "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMADDUBSW" xed="VPMADDUBSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_maddubs_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply packed unsigned 8-bit integers in "a" by packed signed 8-bit integers in "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMADDUBSW" xed="VPMADDUBSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_madd_epi16" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMADDWD" xed="VPMADDWD_YMMi32_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_madd_epi16" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMADDWD" xed="VPMADDWD_YMMi32_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_madd_epi16" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMADDWD" xed="VPMADDWD_XMMi32_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_madd_epi16" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMADDWD" xed="VPMADDWD_XMMi32_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXSB" xed="VPMAXSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXSB" xed="VPMAXSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXSB" xed="VPMAXSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXSB" xed="VPMAXSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXSW" xed="VPMAXSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXSW" xed="VPMAXSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXSW" xed="VPMAXSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXSW" xed="VPMAXSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXUB" xed="VPMAXUB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXUB" xed="VPMAXUB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXUB" xed="VPMAXUB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXUB" xed="VPMAXUB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXUW" xed="VPMAXUW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXUW" xed="VPMAXUW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXUW" xed="VPMAXUW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXUW" xed="VPMAXUW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINSB" xed="VPMINSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINSB" xed="VPMINSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINSB" xed="VPMINSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINSB" xed="VPMINSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINSW" xed="VPMINSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINSW" xed="VPMINSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINSW" xed="VPMINSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINSW" xed="VPMINSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINUB" xed="VPMINUB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINUB" xed="VPMINUB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINUB" xed="VPMINUB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINUB" xed="VPMINUB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINUW" xed="VPMINUW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINUW" xed="VPMINUW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINUW" xed="VPMINUW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINUW" xed="VPMINUW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mulhrs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
		dst[i+15:i] := tmp[16:1]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULHRSW" xed="VPMULHRSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mulhrs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
		dst[i+15:i] := tmp[16:1]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULHRSW" xed="VPMULHRSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mulhrs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
		dst[i+15:i] := tmp[16:1]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULHRSW" xed="VPMULHRSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mulhrs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
		dst[i+15:i] := tmp[16:1]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULHRSW" xed="VPMULHRSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mulhi_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := a[i+15:i] * b[i+15:i]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULHUW" xed="VPMULHUW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mulhi_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := a[i+15:i] * b[i+15:i]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULHUW" xed="VPMULHUW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mulhi_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := a[i+15:i] * b[i+15:i]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULHUW" xed="VPMULHUW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mulhi_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := a[i+15:i] * b[i+15:i]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULHUW" xed="VPMULHUW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mulhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULHW" xed="VPMULHW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mulhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULHW" xed="VPMULHW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mulhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULHW" xed="VPMULHW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mulhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULHW" xed="VPMULHW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mullo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULLW" xed="VPMULLW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mullo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULLW" xed="VPMULLW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mullo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULLW" xed="VPMULLW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mullo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULLW" xed="VPMULLW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sub_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] - b[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBB" xed="VPSUBB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sub_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] - b[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBB" xed="VPSUBB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] - b[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBB" xed="VPSUBB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] - b[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBB" xed="VPSUBB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_subs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBSB" xed="VPSUBSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_subs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBSB" xed="VPSUBSB_YMMi8_MASKmskw_YMMi8_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_subs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBSB" xed="VPSUBSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_subs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBSB" xed="VPSUBSB_XMMi8_MASKmskw_XMMi8_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_subs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBSW" xed="VPSUBSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_subs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBSW" xed="VPSUBSW_YMMi16_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_subs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBSW" xed="VPSUBSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_subs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBSW" xed="VPSUBSW_XMMi16_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_subs_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBUSB" xed="VPSUBUSB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_subs_epu8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBUSB" xed="VPSUBUSB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_subs_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBUSB" xed="VPSUBUSB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_subs_epu8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBUSB" xed="VPSUBUSB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_subs_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBUSW" xed="VPSUBUSW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_subs_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBUSW" xed="VPSUBUSW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_subs_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBUSW" xed="VPSUBUSW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_subs_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBUSW" xed="VPSUBUSW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sub_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] - b[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBW" xed="VPSUBW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sub_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] - b[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBW" xed="VPSUBW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] - b[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBW" xed="VPSUBW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] - b[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBW" xed="VPSUBW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_packs_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := Saturate16(a[31:0])
tmp_dst[31:16] := Saturate16(a[63:32])
tmp_dst[47:32] := Saturate16(a[95:64])
tmp_dst[63:48] := Saturate16(a[127:96])
tmp_dst[79:64] := Saturate16(b[31:0])
tmp_dst[95:80] := Saturate16(b[63:32])
tmp_dst[111:96] := Saturate16(b[95:64])
tmp_dst[127:112] := Saturate16(b[127:96])
tmp_dst[143:128] := Saturate16(a[159:128])
tmp_dst[159:144] := Saturate16(a[191:160])
tmp_dst[175:160] := Saturate16(a[223:192])
tmp_dst[191:176] := Saturate16(a[255:224])
tmp_dst[207:192] := Saturate16(b[159:128])
tmp_dst[223:208] := Saturate16(b[191:160])
tmp_dst[239:224] := Saturate16(b[223:192])
tmp_dst[255:240] := Saturate16(b[255:224])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPACKSSDW" xed="VPACKSSDW_YMMi16_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_packs_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := Saturate16(a[31:0])
tmp_dst[31:16] := Saturate16(a[63:32])
tmp_dst[47:32] := Saturate16(a[95:64])
tmp_dst[63:48] := Saturate16(a[127:96])
tmp_dst[79:64] := Saturate16(b[31:0])
tmp_dst[95:80] := Saturate16(b[63:32])
tmp_dst[111:96] := Saturate16(b[95:64])
tmp_dst[127:112] := Saturate16(b[127:96])
tmp_dst[143:128] := Saturate16(a[159:128])
tmp_dst[159:144] := Saturate16(a[191:160])
tmp_dst[175:160] := Saturate16(a[223:192])
tmp_dst[191:176] := Saturate16(a[255:224])
tmp_dst[207:192] := Saturate16(b[159:128])
tmp_dst[223:208] := Saturate16(b[191:160])
tmp_dst[239:224] := Saturate16(b[223:192])
tmp_dst[255:240] := Saturate16(b[255:224])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPACKSSDW" xed="VPACKSSDW_YMMi16_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_packs_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := Saturate16(a[31:0])
tmp_dst[31:16] := Saturate16(a[63:32])
tmp_dst[47:32] := Saturate16(a[95:64])
tmp_dst[63:48] := Saturate16(a[127:96])
tmp_dst[79:64] := Saturate16(b[31:0])
tmp_dst[95:80] := Saturate16(b[63:32])
tmp_dst[111:96] := Saturate16(b[95:64])
tmp_dst[127:112] := Saturate16(b[127:96])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPACKSSDW" xed="VPACKSSDW_XMMi16_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_packs_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := Saturate16(a[31:0])
tmp_dst[31:16] := Saturate16(a[63:32])
tmp_dst[47:32] := Saturate16(a[95:64])
tmp_dst[63:48] := Saturate16(a[127:96])
tmp_dst[79:64] := Saturate16(b[31:0])
tmp_dst[95:80] := Saturate16(b[63:32])
tmp_dst[111:96] := Saturate16(b[95:64])
tmp_dst[127:112] := Saturate16(b[127:96])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPACKSSDW" xed="VPACKSSDW_XMMi16_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_packs_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := Saturate8(a[15:0])
tmp_dst[15:8] := Saturate8(a[31:16])
tmp_dst[23:16] := Saturate8(a[47:32])
tmp_dst[31:24] := Saturate8(a[63:48])
tmp_dst[39:32] := Saturate8(a[79:64])
tmp_dst[47:40] := Saturate8(a[95:80])
tmp_dst[55:48] := Saturate8(a[111:96])
tmp_dst[63:56] := Saturate8(a[127:112])
tmp_dst[71:64] := Saturate8(b[15:0])
tmp_dst[79:72] := Saturate8(b[31:16])
tmp_dst[87:80] := Saturate8(b[47:32])
tmp_dst[95:88] := Saturate8(b[63:48])
tmp_dst[103:96] := Saturate8(b[79:64])
tmp_dst[111:104] := Saturate8(b[95:80])
tmp_dst[119:112] := Saturate8(b[111:96])
tmp_dst[127:120] := Saturate8(b[127:112])
tmp_dst[135:128] := Saturate8(a[143:128])
tmp_dst[143:136] := Saturate8(a[159:144])
tmp_dst[151:144] := Saturate8(a[175:160])
tmp_dst[159:152] := Saturate8(a[191:176])
tmp_dst[167:160] := Saturate8(a[207:192])
tmp_dst[175:168] := Saturate8(a[223:208])
tmp_dst[183:176] := Saturate8(a[239:224])
tmp_dst[191:184] := Saturate8(a[255:240])
tmp_dst[199:192] := Saturate8(b[143:128])
tmp_dst[207:200] := Saturate8(b[159:144])
tmp_dst[215:208] := Saturate8(b[175:160])
tmp_dst[223:216] := Saturate8(b[191:176])
tmp_dst[231:224] := Saturate8(b[207:192])
tmp_dst[239:232] := Saturate8(b[223:208])
tmp_dst[247:240] := Saturate8(b[239:224])
tmp_dst[255:248] := Saturate8(b[255:240])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPACKSSWB" xed="VPACKSSWB_YMMi8_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_packs_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := Saturate8(a[15:0])
tmp_dst[15:8] := Saturate8(a[31:16])
tmp_dst[23:16] := Saturate8(a[47:32])
tmp_dst[31:24] := Saturate8(a[63:48])
tmp_dst[39:32] := Saturate8(a[79:64])
tmp_dst[47:40] := Saturate8(a[95:80])
tmp_dst[55:48] := Saturate8(a[111:96])
tmp_dst[63:56] := Saturate8(a[127:112])
tmp_dst[71:64] := Saturate8(b[15:0])
tmp_dst[79:72] := Saturate8(b[31:16])
tmp_dst[87:80] := Saturate8(b[47:32])
tmp_dst[95:88] := Saturate8(b[63:48])
tmp_dst[103:96] := Saturate8(b[79:64])
tmp_dst[111:104] := Saturate8(b[95:80])
tmp_dst[119:112] := Saturate8(b[111:96])
tmp_dst[127:120] := Saturate8(b[127:112])
tmp_dst[135:128] := Saturate8(a[143:128])
tmp_dst[143:136] := Saturate8(a[159:144])
tmp_dst[151:144] := Saturate8(a[175:160])
tmp_dst[159:152] := Saturate8(a[191:176])
tmp_dst[167:160] := Saturate8(a[207:192])
tmp_dst[175:168] := Saturate8(a[223:208])
tmp_dst[183:176] := Saturate8(a[239:224])
tmp_dst[191:184] := Saturate8(a[255:240])
tmp_dst[199:192] := Saturate8(b[143:128])
tmp_dst[207:200] := Saturate8(b[159:144])
tmp_dst[215:208] := Saturate8(b[175:160])
tmp_dst[223:216] := Saturate8(b[191:176])
tmp_dst[231:224] := Saturate8(b[207:192])
tmp_dst[239:232] := Saturate8(b[223:208])
tmp_dst[247:240] := Saturate8(b[239:224])
tmp_dst[255:248] := Saturate8(b[255:240])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPACKSSWB" xed="VPACKSSWB_YMMi8_MASKmskw_YMMi16_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_packs_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := Saturate8(a[15:0])
tmp_dst[15:8] := Saturate8(a[31:16])
tmp_dst[23:16] := Saturate8(a[47:32])
tmp_dst[31:24] := Saturate8(a[63:48])
tmp_dst[39:32] := Saturate8(a[79:64])
tmp_dst[47:40] := Saturate8(a[95:80])
tmp_dst[55:48] := Saturate8(a[111:96])
tmp_dst[63:56] := Saturate8(a[127:112])
tmp_dst[71:64] := Saturate8(b[15:0])
tmp_dst[79:72] := Saturate8(b[31:16])
tmp_dst[87:80] := Saturate8(b[47:32])
tmp_dst[95:88] := Saturate8(b[63:48])
tmp_dst[103:96] := Saturate8(b[79:64])
tmp_dst[111:104] := Saturate8(b[95:80])
tmp_dst[119:112] := Saturate8(b[111:96])
tmp_dst[127:120] := Saturate8(b[127:112])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPACKSSWB" xed="VPACKSSWB_XMMi8_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_packs_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := Saturate8(a[15:0])
tmp_dst[15:8] := Saturate8(a[31:16])
tmp_dst[23:16] := Saturate8(a[47:32])
tmp_dst[31:24] := Saturate8(a[63:48])
tmp_dst[39:32] := Saturate8(a[79:64])
tmp_dst[47:40] := Saturate8(a[95:80])
tmp_dst[55:48] := Saturate8(a[111:96])
tmp_dst[63:56] := Saturate8(a[127:112])
tmp_dst[71:64] := Saturate8(b[15:0])
tmp_dst[79:72] := Saturate8(b[31:16])
tmp_dst[87:80] := Saturate8(b[47:32])
tmp_dst[95:88] := Saturate8(b[63:48])
tmp_dst[103:96] := Saturate8(b[79:64])
tmp_dst[111:104] := Saturate8(b[95:80])
tmp_dst[119:112] := Saturate8(b[111:96])
tmp_dst[127:120] := Saturate8(b[127:112])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPACKSSWB" xed="VPACKSSWB_XMMi8_MASKmskw_XMMi16_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_packus_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := SaturateU16(a[31:0])
tmp_dst[31:16] := SaturateU16(a[63:32])
tmp_dst[47:32] := SaturateU16(a[95:64])
tmp_dst[63:48] := SaturateU16(a[127:96])
tmp_dst[79:64] := SaturateU16(b[31:0])
tmp_dst[95:80] := SaturateU16(b[63:32])
tmp_dst[111:96] := SaturateU16(b[95:64])
tmp_dst[127:112] := SaturateU16(b[127:96])
tmp_dst[143:128] := SaturateU16(a[159:128])
tmp_dst[159:144] := SaturateU16(a[191:160])
tmp_dst[175:160] := SaturateU16(a[223:192])
tmp_dst[191:176] := SaturateU16(a[255:224])
tmp_dst[207:192] := SaturateU16(b[159:128])
tmp_dst[223:208] := SaturateU16(b[191:160])
tmp_dst[239:224] := SaturateU16(b[223:192])
tmp_dst[255:240] := SaturateU16(b[255:224])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPACKUSDW" xed="VPACKUSDW_YMMu16_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_packus_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := SaturateU16(a[31:0])
tmp_dst[31:16] := SaturateU16(a[63:32])
tmp_dst[47:32] := SaturateU16(a[95:64])
tmp_dst[63:48] := SaturateU16(a[127:96])
tmp_dst[79:64] := SaturateU16(b[31:0])
tmp_dst[95:80] := SaturateU16(b[63:32])
tmp_dst[111:96] := SaturateU16(b[95:64])
tmp_dst[127:112] := SaturateU16(b[127:96])
tmp_dst[143:128] := SaturateU16(a[159:128])
tmp_dst[159:144] := SaturateU16(a[191:160])
tmp_dst[175:160] := SaturateU16(a[223:192])
tmp_dst[191:176] := SaturateU16(a[255:224])
tmp_dst[207:192] := SaturateU16(b[159:128])
tmp_dst[223:208] := SaturateU16(b[191:160])
tmp_dst[239:224] := SaturateU16(b[223:192])
tmp_dst[255:240] := SaturateU16(b[255:224])
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPACKUSDW" xed="VPACKUSDW_YMMu16_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_packus_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := SaturateU16(a[31:0])
tmp_dst[31:16] := SaturateU16(a[63:32])
tmp_dst[47:32] := SaturateU16(a[95:64])
tmp_dst[63:48] := SaturateU16(a[127:96])
tmp_dst[79:64] := SaturateU16(b[31:0])
tmp_dst[95:80] := SaturateU16(b[63:32])
tmp_dst[111:96] := SaturateU16(b[95:64])
tmp_dst[127:112] := SaturateU16(b[127:96])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPACKUSDW" xed="VPACKUSDW_XMMu16_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_packus_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := SaturateU16(a[31:0])
tmp_dst[31:16] := SaturateU16(a[63:32])
tmp_dst[47:32] := SaturateU16(a[95:64])
tmp_dst[63:48] := SaturateU16(a[127:96])
tmp_dst[79:64] := SaturateU16(b[31:0])
tmp_dst[95:80] := SaturateU16(b[63:32])
tmp_dst[111:96] := SaturateU16(b[95:64])
tmp_dst[127:112] := SaturateU16(b[127:96])
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPACKUSDW" xed="VPACKUSDW_XMMu16_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_packus_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := SaturateU8(a[15:0])
tmp_dst[15:8] := SaturateU8(a[31:16])
tmp_dst[23:16] := SaturateU8(a[47:32])
tmp_dst[31:24] := SaturateU8(a[63:48])
tmp_dst[39:32] := SaturateU8(a[79:64])
tmp_dst[47:40] := SaturateU8(a[95:80])
tmp_dst[55:48] := SaturateU8(a[111:96])
tmp_dst[63:56] := SaturateU8(a[127:112])
tmp_dst[71:64] := SaturateU8(b[15:0])
tmp_dst[79:72] := SaturateU8(b[31:16])
tmp_dst[87:80] := SaturateU8(b[47:32])
tmp_dst[95:88] := SaturateU8(b[63:48])
tmp_dst[103:96] := SaturateU8(b[79:64])
tmp_dst[111:104] := SaturateU8(b[95:80])
tmp_dst[119:112] := SaturateU8(b[111:96])
tmp_dst[127:120] := SaturateU8(b[127:112])
tmp_dst[135:128] := SaturateU8(a[143:128])
tmp_dst[143:136] := SaturateU8(a[159:144])
tmp_dst[151:144] := SaturateU8(a[175:160])
tmp_dst[159:152] := SaturateU8(a[191:176])
tmp_dst[167:160] := SaturateU8(a[207:192])
tmp_dst[175:168] := SaturateU8(a[223:208])
tmp_dst[183:176] := SaturateU8(a[239:224])
tmp_dst[191:184] := SaturateU8(a[255:240])
tmp_dst[199:192] := SaturateU8(b[143:128])
tmp_dst[207:200] := SaturateU8(b[159:144])
tmp_dst[215:208] := SaturateU8(b[175:160])
tmp_dst[223:216] := SaturateU8(b[191:176])
tmp_dst[231:224] := SaturateU8(b[207:192])
tmp_dst[239:232] := SaturateU8(b[223:208])
tmp_dst[247:240] := SaturateU8(b[239:224])
tmp_dst[255:248] := SaturateU8(b[255:240])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPACKUSWB" xed="VPACKUSWB_YMMu8_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_packus_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := SaturateU8(a[15:0])
tmp_dst[15:8] := SaturateU8(a[31:16])
tmp_dst[23:16] := SaturateU8(a[47:32])
tmp_dst[31:24] := SaturateU8(a[63:48])
tmp_dst[39:32] := SaturateU8(a[79:64])
tmp_dst[47:40] := SaturateU8(a[95:80])
tmp_dst[55:48] := SaturateU8(a[111:96])
tmp_dst[63:56] := SaturateU8(a[127:112])
tmp_dst[71:64] := SaturateU8(b[15:0])
tmp_dst[79:72] := SaturateU8(b[31:16])
tmp_dst[87:80] := SaturateU8(b[47:32])
tmp_dst[95:88] := SaturateU8(b[63:48])
tmp_dst[103:96] := SaturateU8(b[79:64])
tmp_dst[111:104] := SaturateU8(b[95:80])
tmp_dst[119:112] := SaturateU8(b[111:96])
tmp_dst[127:120] := SaturateU8(b[127:112])
tmp_dst[135:128] := SaturateU8(a[143:128])
tmp_dst[143:136] := SaturateU8(a[159:144])
tmp_dst[151:144] := SaturateU8(a[175:160])
tmp_dst[159:152] := SaturateU8(a[191:176])
tmp_dst[167:160] := SaturateU8(a[207:192])
tmp_dst[175:168] := SaturateU8(a[223:208])
tmp_dst[183:176] := SaturateU8(a[239:224])
tmp_dst[191:184] := SaturateU8(a[255:240])
tmp_dst[199:192] := SaturateU8(b[143:128])
tmp_dst[207:200] := SaturateU8(b[159:144])
tmp_dst[215:208] := SaturateU8(b[175:160])
tmp_dst[223:216] := SaturateU8(b[191:176])
tmp_dst[231:224] := SaturateU8(b[207:192])
tmp_dst[239:232] := SaturateU8(b[223:208])
tmp_dst[247:240] := SaturateU8(b[239:224])
tmp_dst[255:248] := SaturateU8(b[255:240])
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPACKUSWB" xed="VPACKUSWB_YMMu8_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_packus_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := SaturateU8(a[15:0])
tmp_dst[15:8] := SaturateU8(a[31:16])
tmp_dst[23:16] := SaturateU8(a[47:32])
tmp_dst[31:24] := SaturateU8(a[63:48])
tmp_dst[39:32] := SaturateU8(a[79:64])
tmp_dst[47:40] := SaturateU8(a[95:80])
tmp_dst[55:48] := SaturateU8(a[111:96])
tmp_dst[63:56] := SaturateU8(a[127:112])
tmp_dst[71:64] := SaturateU8(b[15:0])
tmp_dst[79:72] := SaturateU8(b[31:16])
tmp_dst[87:80] := SaturateU8(b[47:32])
tmp_dst[95:88] := SaturateU8(b[63:48])
tmp_dst[103:96] := SaturateU8(b[79:64])
tmp_dst[111:104] := SaturateU8(b[95:80])
tmp_dst[119:112] := SaturateU8(b[111:96])
tmp_dst[127:120] := SaturateU8(b[127:112])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPACKUSWB" xed="VPACKUSWB_XMMu8_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_packus_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := SaturateU8(a[15:0])
tmp_dst[15:8] := SaturateU8(a[31:16])
tmp_dst[23:16] := SaturateU8(a[47:32])
tmp_dst[31:24] := SaturateU8(a[63:48])
tmp_dst[39:32] := SaturateU8(a[79:64])
tmp_dst[47:40] := SaturateU8(a[95:80])
tmp_dst[55:48] := SaturateU8(a[111:96])
tmp_dst[63:56] := SaturateU8(a[127:112])
tmp_dst[71:64] := SaturateU8(b[15:0])
tmp_dst[79:72] := SaturateU8(b[31:16])
tmp_dst[87:80] := SaturateU8(b[47:32])
tmp_dst[95:88] := SaturateU8(b[63:48])
tmp_dst[103:96] := SaturateU8(b[79:64])
tmp_dst[111:104] := SaturateU8(b[95:80])
tmp_dst[119:112] := SaturateU8(b[111:96])
tmp_dst[127:120] := SaturateU8(b[127:112])
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPACKUSWB" xed="VPACKUSWB_XMMu8_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	dst[l+7:l] := Saturate8(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVSWB" xed="VPMOVSWB_XMMi8_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVSWB" xed="VPMOVSWB_XMMi8_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVSWB" xed="VPMOVSWB_MEMi8_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVSWB" xed="VPMOVSWB_XMMi8_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	dst[l+7:l] := Saturate8(a[i+15:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVSWB" xed="VPMOVSWB_XMMi8_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSWB" xed="VPMOVSWB_XMMi8_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVSWB" xed="VPMOVSWB_MEMi8_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSWB" xed="VPMOVSWB_XMMi8_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi8_epi16" tech="AVX-512">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := SignExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVSXBW" xed="VPMOVSXBW_YMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi8_epi16" tech="AVX-512">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := SignExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVSXBW" xed="VPMOVSXBW_YMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi8_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := SignExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSXBW" xed="VPMOVSXBW_XMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi8_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := SignExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSXBW" xed="VPMOVSXBW_XMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	dst[l+7:l] := SaturateU8(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVUSWB" xed="VPMOVUSWB_XMMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVUSWB" xed="VPMOVUSWB_XMMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVUSWB" xed="VPMOVUSWB_MEMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVUSWB" xed="VPMOVUSWB_XMMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	dst[l+7:l] := SaturateU8(a[i+15:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVUSWB" xed="VPMOVUSWB_XMMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVUSWB" xed="VPMOVUSWB_XMMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVUSWB" xed="VPMOVUSWB_MEMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVUSWB" xed="VPMOVUSWB_XMMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	dst[l+7:l] := Truncate8(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVWB" xed="VPMOVWB_XMMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVWB" xed="VPMOVWB_XMMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVWB" xed="VPMOVWB_MEMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVWB" xed="VPMOVWB_XMMu8_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	dst[l+7:l] := Truncate8(a[i+15:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVWB" xed="VPMOVWB_XMMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVWB" xed="VPMOVWB_XMMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVWB" xed="VPMOVWB_MEMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVWB" xed="VPMOVWB_XMMu8_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu8_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := ZeroExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVZXBW" xed="VPMOVZXBW_YMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu8_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := ZeroExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVZXBW" xed="VPMOVZXBW_YMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu8_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := ZeroExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVZXBW" xed="VPMOVZXBW_XMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu8_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := ZeroExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVZXBW" xed="VPMOVZXBW_XMMi16_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_set1_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, r8" name="VPBROADCASTB" xed="VPBROADCASTB_YMMu8_MASKmskw_GPR32u8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_set1_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, r8" name="VPBROADCASTB" xed="VPBROADCASTB_YMMu8_MASKmskw_GPR32u8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_mask_set1_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, r8" name="VPBROADCASTB" xed="VPBROADCASTB_XMMu8_MASKmskw_GPR32u8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_set1_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, r8" name="VPBROADCASTB" xed="VPBROADCASTB_XMMu8_MASKmskw_GPR32u8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_set1_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, r16" name="VPBROADCASTW" xed="VPBROADCASTW_YMMu16_MASKmskw_GPR32u16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_set1_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast 16-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, r16" name="VPBROADCASTW" xed="VPBROADCASTW_YMMu16_MASKmskw_GPR32u16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_mask_set1_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, r16" name="VPBROADCASTW" xed="VPBROADCASTW_XMMu16_MASKmskw_GPR32u16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_set1_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, r16" name="VPBROADCASTW" xed="VPBROADCASTW_XMMu16_MASKmskw_GPR32u16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_YMMi8_YMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_XMMi8_XMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_YMMu8_YMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_XMMu8_XMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_YMMi16_YMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_XMMi16_XMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_test_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ((a[i+7:i] AND b[i+7:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTMB" xed="VPTESTMB_MASKmskw_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_test_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ((a[i+7:i] AND b[i+7:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTMB" xed="VPTESTMB_MASKmskw_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_test_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ((a[i+7:i] AND b[i+7:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTMB" xed="VPTESTMB_MASKmskw_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_test_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ((a[i+7:i] AND b[i+7:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTMB" xed="VPTESTMB_MASKmskw_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_test_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ((a[i+15:i] AND b[i+15:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTMW" xed="VPTESTMW_MASKmskw_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_test_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ((a[i+15:i] AND b[i+15:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTMW" xed="VPTESTMW_MASKmskw_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_test_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ((a[i+15:i] AND b[i+15:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTMW" xed="VPTESTMW_MASKmskw_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_test_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ((a[i+15:i] AND b[i+15:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTMW" xed="VPTESTMW_MASKmskw_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_testn_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k1[j]
		k[j] := ((a[i+7:i] AND b[i+7:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTNMB" xed="VPTESTNMB_MASKmskw_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_testn_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	k[j] := ((a[i+7:i] AND b[i+7:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTNMB" xed="VPTESTNMB_MASKmskw_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_testn_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k1[j]
		k[j] := ((a[i+7:i] AND b[i+7:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTNMB" xed="VPTESTNMB_MASKmskw_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_testn_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	k[j] := ((a[i+7:i] AND b[i+7:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTNMB" xed="VPTESTNMB_MASKmskw_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_testn_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k1[j]
		k[j] := ((a[i+15:i] AND b[i+15:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTNMW" xed="VPTESTNMW_MASKmskw_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_testn_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	k[j] := ((a[i+15:i] AND b[i+15:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTNMW" xed="VPTESTNMW_MASKmskw_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_testn_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k1[j]
		k[j] := ((a[i+15:i] AND b[i+15:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTNMW" xed="VPTESTNMW_MASKmskw_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_testn_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	k[j] := ((a[i+15:i] AND b[i+15:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTNMW" xed="VPTESTNMW_MASKmskw_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSLLVW" xed="VPSLLVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSLLVW" xed="VPSLLVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSLLVW" xed="VPSLLVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSLLVW" xed="VPSLLVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSLLVW" xed="VPSLLVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSLLVW" xed="VPSLLVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sll_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSLLW" xed="VPSLLW_YMMu16_MASKmskw_YMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_slli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSLLW" xed="VPSLLW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sll_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSLLW" xed="VPSLLW_YMMu16_MASKmskw_YMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_slli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSLLW" xed="VPSLLW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sll_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSLLW" xed="VPSLLW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_slli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSLLW" xed="VPSLLW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sll_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSLLW" xed="VPSLLW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_slli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSLLW" xed="VPSLLW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSRAVW" xed="VPSRAVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSRAVW" xed="VPSRAVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
	ELSE
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSRAVW" xed="VPSRAVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRAVW" xed="VPSRAVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRAVW" xed="VPSRAVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
	ELSE
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSRAVW" xed="VPSRAVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sra_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSRAW" xed="VPSRAW_YMMu16_MASKmskw_YMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srai_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSRAW" xed="VPSRAW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sra_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSRAW" xed="VPSRAW_YMMu16_MASKmskw_YMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srai_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSRAW" xed="VPSRAW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sra_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRAW" xed="VPSRAW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srai_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSRAW" xed="VPSRAW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sra_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRAW" xed="VPSRAW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srai_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSRAW" xed="VPSRAW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSRLVW" xed="VPSRLVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSRLVW" xed="VPSRLVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSRLVW" xed="VPSRLVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRLVW" xed="VPSRLVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRLVW" xed="VPSRLVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSRLVW" xed="VPSRLVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srl_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSRLW" xed="VPSRLW_YMMu16_MASKmskw_YMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSRLW" xed="VPSRLW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srl_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSRLW" xed="VPSRLW_YMMu16_MASKmskw_YMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSRLW" xed="VPSRLW_YMMu16_MASKmskw_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srl_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRLW" xed="VPSRLW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSRLW" xed="VPSRLW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srl_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRLW" xed="VPSRLW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSRLW" xed="VPSRLW_XMMu16_MASKmskw_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_add_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[15:0] + src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] + src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_ADD(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_ADD(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_add_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[15:0] + src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] + src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_ADD(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0
	FI
ENDFOR
dst[15:0] := REDUCE_ADD(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_add_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[15:0] + src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] + src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_ADD(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_ADD(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_add_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[15:0] + src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] + src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_ADD(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0
	FI
ENDFOR
dst[15:0] := REDUCE_ADD(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_add_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[7:0] + src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] + src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_ADD(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_ADD(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_add_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[7:0] + src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] + src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_ADD(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0
	FI
ENDFOR
dst[7:0] := REDUCE_ADD(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_add_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[7:0] + src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] + src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_ADD(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_ADD(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_add_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[7:0] + src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] + src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_ADD(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 31
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0
	FI
ENDFOR
dst[7:0] := REDUCE_ADD(tmp, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_mul_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[15:0] * src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] * src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_MUL(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MUL(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_mul_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[15:0] * src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] * src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_MUL(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 1
	FI
ENDFOR
dst[15:0] := REDUCE_MUL(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_mul_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[15:0] * src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] * src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_MUL(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MUL(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_mul_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[15:0] * src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] * src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_MUL(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 1
	FI
ENDFOR
dst[15:0] := REDUCE_MUL(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_mul_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[7:0] * src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] * src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_MUL(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MUL(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_mul_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[7:0] * src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] * src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_MUL(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 1
	FI
ENDFOR
dst[7:0] := REDUCE_MUL(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_mul_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[7:0] * src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] * src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_MUL(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MUL(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_mul_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[7:0] * src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] * src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_MUL(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 31
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 1
	FI
ENDFOR
dst[7:0] := REDUCE_MUL(tmp, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_or_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[15:0] OR src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] OR src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_OR(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_OR(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_or_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[15:0] OR src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] OR src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_OR(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0
	FI
ENDFOR
dst[15:0] := REDUCE_OR(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_or_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[15:0] OR src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] OR src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_OR(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_OR(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_or_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[15:0] OR src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] OR src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_OR(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0
	FI
ENDFOR
dst[15:0] := REDUCE_OR(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_or_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[7:0] OR src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] OR src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_OR(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_OR(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_or_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[7:0] OR src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] OR src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_OR(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0
	FI
ENDFOR
dst[7:0] := REDUCE_OR(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_or_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[7:0] OR src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] OR src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_OR(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_OR(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_or_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[7:0] OR src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] OR src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_OR(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 31
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0
	FI
ENDFOR
dst[7:0] := REDUCE_OR(tmp, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_and_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[15:0] AND src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] AND src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_AND(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_AND(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_and_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[15:0] AND src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] AND src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_AND(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0xFFFF
	FI
ENDFOR
dst[15:0] := REDUCE_AND(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_and_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[15:0] AND src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] AND src[i+16*len+31:i+16*len]
	ENDFOR
	RETURN REDUCE_AND(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_AND(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_and_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed 16-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[15:0] AND src[31:16]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := src[i+15:i] AND src[i+16*len+15:i+16*len]
	ENDFOR
	RETURN REDUCE_AND(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0xFFFF
	FI
ENDFOR
dst[15:0] := REDUCE_AND(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_and_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[7:0] AND src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] AND src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_AND(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_AND(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_and_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[7:0] AND src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] AND src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_AND(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0xFF
	FI
ENDFOR
dst[7:0] := REDUCE_AND(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_and_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[7:0] AND src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] AND src[i+8*len+15:i+8*len]
	ENDFOR
	RETURN REDUCE_AND(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_AND(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_and_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed 8-bit integers in "a" by multiplication using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[7:0] AND src[15:8]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := src[i+7:i] AND src[i+8*len+7:i+8*len]
	ENDFOR
	RETURN REDUCE_AND(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 31
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0xFF
	FI
ENDFOR
dst[7:0] := REDUCE_AND(tmp, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_max_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MAX(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_max_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := Int16(-0x8000)
	FI
ENDFOR
dst[15:0] := REDUCE_MAX(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_max_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MAX(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_max_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := Int16(-0x8000)
	FI
ENDFOR
dst[15:0] := REDUCE_MAX(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_max_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MAX(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_max_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := Int8(-0x80)
	FI
ENDFOR
dst[7:0] := REDUCE_MAX(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_max_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MAX(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_max_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 31
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := Int8(-0x80)
	FI
ENDFOR
dst[7:0] := REDUCE_MAX(tmp, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_max_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MAX(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_max_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0
	FI
ENDFOR
dst[15:0] := REDUCE_MAX(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_max_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MAX(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_max_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[15:0] &gt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &gt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MAX(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0
	FI
ENDFOR
dst[15:0] := REDUCE_MAX(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_max_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MAX(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_max_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0
	FI
ENDFOR
dst[7:0] := REDUCE_MAX(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_max_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by maximum. Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MAX(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_max_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[7:0] &gt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &gt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MAX(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 31
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0
	FI
ENDFOR
dst[7:0] := REDUCE_MAX(tmp, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_min_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MIN(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_min_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := Int16(0x7FFF)
	FI
ENDFOR
dst[15:0] := REDUCE_MIN(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_min_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MIN(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_min_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="SI16" type="short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Reduce the packed signed 16-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := Int16(0x7FFF)
	FI
ENDFOR
dst[15:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_min_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MIN(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_min_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := Int8(0x7F)
	FI
ENDFOR
dst[7:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_min_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MIN(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_min_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="SI8" type="char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Reduce the packed signed 8-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 31
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := Int8(0x7F)
	FI
ENDFOR
dst[7:0] := REDUCE_MIN(tmp, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_min_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MIN(a, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_min_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0xFFFF
	FI
ENDFOR
dst[15:0] := REDUCE_MIN(tmp, 8)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_min_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
dst[15:0] := REDUCE_MIN(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_min_epu16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 16-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[15:0] &lt; src[31:16] ? src[15:0] : src[31:16])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*16
		src[i+15:i] := (src[i+15:i] &lt; src[i+16*len+15:i+16*len] ? src[i+15:i] : src[i+16*len+15:i+16*len])
	ENDFOR
	RETURN REDUCE_MIN(src[16*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[i+15:i] := a[i+15:i]
	ELSE
		tmp[i+15:i] := 0xFFFF
	FI
ENDFOR
dst[15:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_min_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MIN(a, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_min_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0xFF
	FI
ENDFOR
dst[7:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_min_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by minimum. Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
dst[7:0] := REDUCE_MIN(a, 32)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_min_epu8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Reduce the packed unsigned 8-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[7:0] &lt; src[15:8] ? src[7:0] : src[15:8])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*8
		src[i+7:i] := (src[i+7:i] &lt; src[i+8*len+7:i+8*len] ? src[i+7:i] : src[i+8*len+7:i+8*len])
	ENDFOR
	RETURN REDUCE_MIN(src[8*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*8
	IF k[j]
		tmp[i+7:i] := a[i+7:i]
	ELSE
		tmp[i+7:i] := 0xFF
	FI
ENDFOR
dst[7:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512BW</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	
<intrinsic name="_mm512_kunpackd" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Unpack and interleave 32 bits from masks "a" and "b", and store the 64-bit result in "dst".</description>
	<operation>
dst[31:0] := b[31:0]
dst[63:32] := a[31:0]
dst[MAX:64] := 0
	</operation>
	<instruction form="k, k, k" name="KUNPCKDQ" xed="KUNPCKDQ_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_kunpackw" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Unpack and interleave 16 bits from masks "a" and "b", and store the 32-bit result in "dst".</description>
	<operation>
dst[15:0] := b[15:0]
dst[31:16] := a[15:0]
dst[MAX:32] := 0
	</operation>
	<instruction form="k, k, k" name="KUNPCKWD" xed="KUNPCKWD_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst".
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected from within 128-bit lanes according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
FOR i := 0 to 3
	tmp.m128[i].dword[0] := b.m128[i].dword[ imm8[1:0] ]
	tmp.m128[i].dword[1] := b.m128[i].dword[ imm8[3:2] ]
	tmp.m128[i].dword[2] := b.m128[i].dword[ imm8[5:4] ]
	tmp.m128[i].dword[3] := b.m128[i].dword[ imm8[7:6] ]
ENDFOR
FOR j := 0 to 7
	i := j*64
	dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	               ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                  ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                  ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                  ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VDBPSADBW" xed="VDBPSADBW_ZMMu16_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected from within 128-bit lanes according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
FOR i := 0 to 3
	tmp.m128[i].dword[0] := b.m128[i].dword[ imm8[1:0] ]
	tmp.m128[i].dword[1] := b.m128[i].dword[ imm8[3:2] ]
	tmp.m128[i].dword[2] := b.m128[i].dword[ imm8[5:4] ]
	tmp.m128[i].dword[3] := b.m128[i].dword[ imm8[7:6] ]
ENDFOR
FOR j := 0 to 7
	i := j*64
	tmp_dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	                   ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	tmp_dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                      ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	tmp_dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                      ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	tmp_dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                      ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VDBPSADBW" xed="VDBPSADBW_ZMMu16_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_dbsad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from "a", and the last two SADs use the uppper 8-bit quadruplet of the lane from "a". Quadruplets from "b" are selected from within 128-bit lanes according to the control in "imm8", and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.</description>
	<operation>
FOR i := 0 to 3
	tmp.m128[i].dword[0] := b.m128[i].dword[ imm8[1:0] ]
	tmp.m128[i].dword[1] := b.m128[i].dword[ imm8[3:2] ]
	tmp.m128[i].dword[2] := b.m128[i].dword[ imm8[5:4] ]
	tmp.m128[i].dword[3] := b.m128[i].dword[ imm8[7:6] ]
ENDFOR
FOR j := 0 to 7
	i := j*64
	tmp_dst[i+15:i] := ABS(a[i+7:i] - tmp[i+7:i]) + ABS(a[i+15:i+8] - tmp[i+15:i+8]) +\
	                   ABS(a[i+23:i+16] - tmp[i+23:i+16]) + ABS(a[i+31:i+24] - tmp[i+31:i+24])
	
	tmp_dst[i+31:i+16] := ABS(a[i+7:i] - tmp[i+15:i+8]) + ABS(a[i+15:i+8] - tmp[i+23:i+16]) +\
	                      ABS(a[i+23:i+16] - tmp[i+31:i+24]) + ABS(a[i+31:i+24] - tmp[i+39:i+32])
	
	tmp_dst[i+47:i+32] := ABS(a[i+39:i+32] - tmp[i+23:i+16]) + ABS(a[i+47:i+40] - tmp[i+31:i+24]) +\
	                      ABS(a[i+55:i+48] - tmp[i+39:i+32]) + ABS(a[i+63:i+56] - tmp[i+47:i+40])
	
	tmp_dst[i+63:i+48] := ABS(a[i+39:i+32] - tmp[i+31:i+24]) + ABS(a[i+47:i+40] - tmp[i+39:i+32]) +\
	                      ABS(a[i+55:i+48] - tmp[i+47:i+40]) + ABS(a[i+63:i+56] - tmp[i+55:i+48])
ENDFOR
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VDBPSADBW" xed="VDBPSADBW_ZMMu16_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_alignr_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*128
	tmp[255:0] := ((a[i+127:i] &lt;&lt; 128)[255:0] OR b[i+127:i]) &gt;&gt; (imm8*8)
	dst[i+127:i] := tmp[127:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPALIGNR" xed="VPALIGNR_ZMMu8_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_alignr_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*128
	tmp[255:0] := ((a[i+127:i] &lt;&lt; 128)[255:0] OR b[i+127:i]) &gt;&gt; (imm8*8)
	tmp_dst[i+127:i] := tmp[127:0]
ENDFOR
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPALIGNR" xed="VPALIGNR_ZMMu8_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_alignr_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*128
	tmp[255:0] := ((a[i+127:i] &lt;&lt; 128)[255:0] OR b[i+127:i]) &gt;&gt; (imm8*8)
	tmp_dst[i+127:i] := tmp[127:0]
ENDFOR
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPALIGNR" xed="VPALIGNR_ZMMu8_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_blend_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Blend packed 8-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := b[i+7:i]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPBLENDMB" xed="VPBLENDMB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_blend_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Blend packed 16-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := b[i+15:i]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPBLENDMW" xed="VPBLENDMW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcastb_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := a[7:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_ZMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcastb_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_ZMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcastb_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Broadcast the low packed 8-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPBROADCASTB" xed="VPBROADCASTB_ZMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcastw_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := a[15:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_ZMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcastw_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_ZMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcastw_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPBROADCASTW" xed="VPBROADCASTW_ZMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask2_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		off := 16*idx[i+4:i]
		dst[i+15:i] := idx[i+5] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := idx[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMI2W" xed="VPERMI2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		off := 16*idx[i+4:i]
		dst[i+15:i] := idx[i+5] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMT2W" xed="VPERMT2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		off := 16*idx[i+4:i]
		dst[i+15:i] := idx[i+5] ? b[off+15:off] : a[off+15:off]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMI2W" xed="VPERMI2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VPERMT2W" xed="VPERMT2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex2var_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Shuffle 16-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	off := 16*idx[i+4:i]
	dst[i+15:i] := idx[i+5] ? b[off+15:off] : a[off+15:off]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMI2W" xed="VPERMI2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VPERMT2W" xed="VPERMT2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Shuffle 16-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	id := idx[i+4:i]*16
	IF k[j]
		dst[i+15:i] := a[id+15:id]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMW" xed="VPERMW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Shuffle 16-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	id := idx[i+4:i]*16
	IF k[j]
		dst[i+15:i] := a[id+15:id]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMW" xed="VPERMW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_permutexvar_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Shuffle 16-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	id := idx[i+4:i]*16
	dst[i+15:i] := a[id+15:id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMW" xed="VPERMW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movepi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 8-bit integer in "a".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF a[i+7]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm" name="VPMOVB2M" xed="VPMOVB2M_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movm_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<description>Set each packed 8-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := 0xFF
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm" name="VPMOVM2B" xed="VPMOVM2B_ZMMu8_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movm_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Set each packed 16-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := 0xFFFF
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm" name="VPMOVM2W" xed="VPMOVM2W_ZMMu16_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movepi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 16-bit integer in "a".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF a[i+15]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm" name="VPMOVW2M" xed="VPMOVW2M_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_sad_epu8" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compute the absolute differences of packed unsigned 8-bit integers in "a" and "b", then horizontally sum each consecutive 8 differences to produce eight unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low 16 bits of 64-bit elements in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	tmp[i+7:i] := ABS(a[i+7:i] - b[i+7:i])
ENDFOR
FOR j := 0 to 7
	i := j*64
	dst[i+15:i] := tmp[i+7:i] + tmp[i+15:i+8] + tmp[i+23:i+16] + tmp[i+31:i+24] + \
	               tmp[i+39:i+32] + tmp[i+47:i+40] + tmp[i+55:i+48] + tmp[i+63:i+56]
	dst[i+63:i+16] := 0
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSADBW" xed="VPSADBW_ZMMu16_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Shuffle 8-bit integers in "a" within 128-bit lanes using the control in the corresponding 8-bit element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		IF b[i+7] == 1
			dst[i+7:i] := 0
		ELSE
			index[5:0] := b[i+3:i] + (j &amp; 0x30)
			dst[i+7:i] := a[index*8+7:index*8]
		FI
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSHUFB" xed="VPSHUFB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		IF b[i+7] == 1
			dst[i+7:i] := 0
		ELSE
			index[5:0] := b[i+3:i] + (j &amp; 0x30)
			dst[i+7:i] := a[index*8+7:index*8]
		FI
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSHUFB" xed="VPSHUFB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF b[i+7] == 1
		dst[i+7:i] := 0
	ELSE
		index[5:0] := b[i+3:i] + (j &amp; 0x30)
		dst[i+7:i] := a[index*8+7:index*8]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSHUFB" xed="VPSHUFB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shufflehi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the high 64 bits of 128-bit lanes of "dst", with the low 64 bits of 128-bit lanes being copied from from "a" to "dst", using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := a[63:0]
tmp_dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
tmp_dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
tmp_dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
tmp_dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
tmp_dst[191:128] := a[191:128]
tmp_dst[207:192] := (a &gt;&gt; (imm8[1:0] * 16))[207:192]
tmp_dst[223:208] := (a &gt;&gt; (imm8[3:2] * 16))[207:192]
tmp_dst[239:224] := (a &gt;&gt; (imm8[5:4] * 16))[207:192]
tmp_dst[255:240] := (a &gt;&gt; (imm8[7:6] * 16))[207:192]
tmp_dst[319:256] := a[319:256]
tmp_dst[335:320] := (a &gt;&gt; (imm8[1:0] * 16))[335:320]
tmp_dst[351:336] := (a &gt;&gt; (imm8[3:2] * 16))[335:320]
tmp_dst[367:352] := (a &gt;&gt; (imm8[5:4] * 16))[335:320]
tmp_dst[383:368] := (a &gt;&gt; (imm8[7:6] * 16))[335:320]
tmp_dst[447:384] := a[447:384]
tmp_dst[463:448] := (a &gt;&gt; (imm8[1:0] * 16))[463:448]
tmp_dst[479:464] := (a &gt;&gt; (imm8[3:2] * 16))[463:448]
tmp_dst[495:480] := (a &gt;&gt; (imm8[5:4] * 16))[463:448]
tmp_dst[511:496] := (a &gt;&gt; (imm8[7:6] * 16))[463:448]
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSHUFHW" xed="VPSHUFHW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shufflehi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the high 64 bits of 128-bit lanes of "dst", with the low 64 bits of 128-bit lanes being copied from from "a" to "dst", using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := a[63:0]
tmp_dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
tmp_dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
tmp_dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
tmp_dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
tmp_dst[191:128] := a[191:128]
tmp_dst[207:192] := (a &gt;&gt; (imm8[1:0] * 16))[207:192]
tmp_dst[223:208] := (a &gt;&gt; (imm8[3:2] * 16))[207:192]
tmp_dst[239:224] := (a &gt;&gt; (imm8[5:4] * 16))[207:192]
tmp_dst[255:240] := (a &gt;&gt; (imm8[7:6] * 16))[207:192]
tmp_dst[319:256] := a[319:256]
tmp_dst[335:320] := (a &gt;&gt; (imm8[1:0] * 16))[335:320]
tmp_dst[351:336] := (a &gt;&gt; (imm8[3:2] * 16))[335:320]
tmp_dst[367:352] := (a &gt;&gt; (imm8[5:4] * 16))[335:320]
tmp_dst[383:368] := (a &gt;&gt; (imm8[7:6] * 16))[335:320]
tmp_dst[447:384] := a[447:384]
tmp_dst[463:448] := (a &gt;&gt; (imm8[1:0] * 16))[463:448]
tmp_dst[479:464] := (a &gt;&gt; (imm8[3:2] * 16))[463:448]
tmp_dst[495:480] := (a &gt;&gt; (imm8[5:4] * 16))[463:448]
tmp_dst[511:496] := (a &gt;&gt; (imm8[7:6] * 16))[463:448]
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSHUFHW" xed="VPSHUFHW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_shufflehi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the high 64 bits of 128-bit lanes of "dst", with the low 64 bits of 128-bit lanes being copied from from "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
dst[191:128] := a[191:128]
dst[207:192] := (a &gt;&gt; (imm8[1:0] * 16))[207:192]
dst[223:208] := (a &gt;&gt; (imm8[3:2] * 16))[207:192]
dst[239:224] := (a &gt;&gt; (imm8[5:4] * 16))[207:192]
dst[255:240] := (a &gt;&gt; (imm8[7:6] * 16))[207:192]
dst[319:256] := a[319:256]
dst[335:320] := (a &gt;&gt; (imm8[1:0] * 16))[335:320]
dst[351:336] := (a &gt;&gt; (imm8[3:2] * 16))[335:320]
dst[367:352] := (a &gt;&gt; (imm8[5:4] * 16))[335:320]
dst[383:368] := (a &gt;&gt; (imm8[7:6] * 16))[335:320]
dst[447:384] := a[447:384]
dst[463:448] := (a &gt;&gt; (imm8[1:0] * 16))[463:448]
dst[479:464] := (a &gt;&gt; (imm8[3:2] * 16))[463:448]
dst[495:480] := (a &gt;&gt; (imm8[5:4] * 16))[463:448]
dst[511:496] := (a &gt;&gt; (imm8[7:6] * 16))[463:448]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSHUFHW" xed="VPSHUFHW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shufflelo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the low 64 bits of 128-bit lanes of "dst", with the high 64 bits of 128-bit lanes being copied from from "a" to "dst", using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
tmp_dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
tmp_dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
tmp_dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
tmp_dst[127:64] := a[127:64]
tmp_dst[143:128] := (a &gt;&gt; (imm8[1:0] * 16))[143:128]
tmp_dst[159:144] := (a &gt;&gt; (imm8[3:2] * 16))[143:128]
tmp_dst[175:160] := (a &gt;&gt; (imm8[5:4] * 16))[143:128]
tmp_dst[191:176] := (a &gt;&gt; (imm8[7:6] * 16))[143:128]
tmp_dst[255:192] := a[255:192]
tmp_dst[271:256] := (a &gt;&gt; (imm8[1:0] * 16))[271:256]
tmp_dst[287:272] := (a &gt;&gt; (imm8[3:2] * 16))[271:256]
tmp_dst[303:288] := (a &gt;&gt; (imm8[5:4] * 16))[271:256]
tmp_dst[319:304] := (a &gt;&gt; (imm8[7:6] * 16))[271:256]
tmp_dst[383:320] := a[383:320]
tmp_dst[399:384] := (a &gt;&gt; (imm8[1:0] * 16))[399:384]
tmp_dst[415:400] := (a &gt;&gt; (imm8[3:2] * 16))[399:384]
tmp_dst[431:416] := (a &gt;&gt; (imm8[5:4] * 16))[399:384]
tmp_dst[447:432] := (a &gt;&gt; (imm8[7:6] * 16))[399:384]
tmp_dst[511:448] := a[511:448]
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSHUFLW" xed="VPSHUFLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shufflelo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the low 64 bits of 128-bit lanes of "dst", with the high 64 bits of 128-bit lanes being copied from from "a" to "dst", using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
tmp_dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
tmp_dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
tmp_dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
tmp_dst[127:64] := a[127:64]
tmp_dst[143:128] := (a &gt;&gt; (imm8[1:0] * 16))[143:128]
tmp_dst[159:144] := (a &gt;&gt; (imm8[3:2] * 16))[143:128]
tmp_dst[175:160] := (a &gt;&gt; (imm8[5:4] * 16))[143:128]
tmp_dst[191:176] := (a &gt;&gt; (imm8[7:6] * 16))[143:128]
tmp_dst[255:192] := a[255:192]
tmp_dst[271:256] := (a &gt;&gt; (imm8[1:0] * 16))[271:256]
tmp_dst[287:272] := (a &gt;&gt; (imm8[3:2] * 16))[271:256]
tmp_dst[303:288] := (a &gt;&gt; (imm8[5:4] * 16))[271:256]
tmp_dst[319:304] := (a &gt;&gt; (imm8[7:6] * 16))[271:256]
tmp_dst[383:320] := a[383:320]
tmp_dst[399:384] := (a &gt;&gt; (imm8[1:0] * 16))[399:384]
tmp_dst[415:400] := (a &gt;&gt; (imm8[3:2] * 16))[399:384]
tmp_dst[431:416] := (a &gt;&gt; (imm8[5:4] * 16))[399:384]
tmp_dst[447:432] := (a &gt;&gt; (imm8[7:6] * 16))[399:384]
tmp_dst[511:448] := a[511:448]
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSHUFLW" xed="VPSHUFLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_shufflelo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of 128-bit lanes of "a" using the control in "imm8". Store the results in the low 64 bits of 128-bit lanes of "dst", with the high 64 bits of 128-bit lanes being copied from from "a" to "dst".</description>
	<operation>
dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
dst[127:64] := a[127:64]
dst[143:128] := (a &gt;&gt; (imm8[1:0] * 16))[143:128]
dst[159:144] := (a &gt;&gt; (imm8[3:2] * 16))[143:128]
dst[175:160] := (a &gt;&gt; (imm8[5:4] * 16))[143:128]
dst[191:176] := (a &gt;&gt; (imm8[7:6] * 16))[143:128]
dst[255:192] := a[255:192]
dst[271:256] := (a &gt;&gt; (imm8[1:0] * 16))[271:256]
dst[287:272] := (a &gt;&gt; (imm8[3:2] * 16))[271:256]
dst[303:288] := (a &gt;&gt; (imm8[5:4] * 16))[271:256]
dst[319:304] := (a &gt;&gt; (imm8[7:6] * 16))[271:256]
dst[383:320] := a[383:320]
dst[399:384] := (a &gt;&gt; (imm8[1:0] * 16))[399:384]
dst[415:400] := (a &gt;&gt; (imm8[3:2] * 16))[399:384]
dst[431:416] := (a &gt;&gt; (imm8[5:4] * 16))[399:384]
dst[447:432] := (a &gt;&gt; (imm8[7:6] * 16))[399:384]
dst[511:448] := a[511:448]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSHUFLW" xed="VPSHUFLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpackhi_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_BYTES(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_BYTES(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_BYTES(a[511:384], b[511:384])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKHBW" xed="VPUNPCKHBW_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpackhi_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_BYTES(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_BYTES(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_BYTES(a[511:384], b[511:384])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKHBW" xed="VPUNPCKHBW_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_unpackhi_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_BYTES(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_HIGH_BYTES(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_HIGH_BYTES(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKHBW" xed="VPUNPCKHBW_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpackhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_WORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_WORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_WORDS(a[511:384], b[511:384])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKHWD" xed="VPUNPCKHWD_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpackhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_WORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_WORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_WORDS(a[511:384], b[511:384])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKHWD" xed="VPUNPCKHWD_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_unpackhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_WORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_HIGH_WORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_HIGH_WORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKHWD" xed="VPUNPCKHWD_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpacklo_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_BYTES(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_BYTES(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_BYTES(a[511:384], b[511:384])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKLBW" xed="VPUNPCKLBW_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpacklo_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_BYTES(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_BYTES(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_BYTES(a[511:384], b[511:384])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKLBW" xed="VPUNPCKLBW_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_unpacklo_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_BYTES(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_BYTES(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_BYTES(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKLBW" xed="VPUNPCKLBW_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpacklo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_WORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_WORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_WORDS(a[511:384], b[511:384])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKLWD" xed="VPUNPCKLWD_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpacklo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_WORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_WORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_WORDS(a[511:384], b[511:384])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKLWD" xed="VPUNPCKLWD_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_unpacklo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_WORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_WORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_WORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKLWD" xed="VPUNPCKLWD_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 16-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+i+15:mem_addr+i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVDQU16" xed="VMOVDQU16_ZMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 16-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+i+15:mem_addr+i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVDQU16" xed="VMOVDQU16_ZMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 8-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+i+7:mem_addr+i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVDQU8" xed="VMOVDQU8_ZMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 8-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+i+7:mem_addr+i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVDQU8" xed="VMOVDQU8_ZMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 32 packed 16-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQU16" xed="VMOVDQU16_ZMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 64 packed 8-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQU8" xed="VMOVDQU8_ZMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_load_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" memwidth="32" type="__mmask32*" varname="mem_addr" />
	<description>Load 32-bit mask from memory into "k".</description>
	<operation>
k[31:0] := MEM[mem_addr+31:mem_addr]
	</operation>
	<instruction form="k, m32" name="KMOVD" xed="KMOVD_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_load_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" memwidth="64" type="__mmask64*" varname="mem_addr" />
	<description>Load 64-bit mask from memory into "k".</description>
	<operation>
k[63:0] := MEM[mem_addr+63:mem_addr]
	</operation>
	<instruction form="k, m64" name="KMOVQ" xed="KMOVQ_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mov_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Move packed 16-bit integers from "a" into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVDQU16" xed="VMOVDQU16_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mov_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Move packed 16-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVDQU16" xed="VMOVDQU16_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mov_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Move packed 8-bit integers from "a" into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVDQU8" xed="VMOVDQU8_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mov_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Move packed 8-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVDQU8" xed="VMOVDQU8_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_storeu_epi16" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI16" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Store packed 16-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		MEM[mem_addr+i+15:mem_addr+i] := a[i+15:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVDQU16" xed="VMOVDQU16_MEMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_storeu_epi8" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI8" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Store packed 8-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVDQU8" xed="VMOVDQU8_MEMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_epi16" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI16" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Store 512-bits (composed of 32 packed 16-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQU16" xed="VMOVDQU16_MEMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_epi8" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI8" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Store 512-bits (composed of 64 packed 8-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQU8" xed="VMOVDQU8_MEMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_store_mask32" tech="AVX-512">
	<return type="void" />
	<parameter etype="MASK" memwidth="32" type="__mmask32*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<description>Store 32-bit mask from "a" into memory.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[31:0]
	</operation>
	<instruction form="m32, k" name="KMOVD" xed="KMOVD_MEMu32_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_store_mask64" tech="AVX-512">
	<return type="void" />
	<parameter etype="MASK" memwidth="64" type="__mmask64*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<description>Store 64-bit mask from "a" into memory.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
	</operation>
	<instruction form="m64, k" name="KMOVQ" xed="KMOVQ_MEMu64_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_abs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := ABS(a[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPABSB" xed="VPABSB_ZMMi8_MASKmskw_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_abs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := ABS(a[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPABSB" xed="VPABSB_ZMMi8_MASKmskw_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_abs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := ABS(a[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPABSB" xed="VPABSB_ZMMi8_MASKmskw_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_abs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ABS(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPABSW" xed="VPABSW_ZMMi16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_abs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ABS(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPABSW" xed="VPABSW_ZMMi16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_abs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ABS(a[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPABSW" xed="VPABSW_ZMMi16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := a[i+7:i] + b[i+7:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDB" xed="VPADDB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] + b[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDB" xed="VPADDB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] + b[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDB" xed="VPADDB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_adds_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDSB" xed="VPADDSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_adds_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDSB" xed="VPADDSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_adds_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDSB" xed="VPADDSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_adds_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDSW" xed="VPADDSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_adds_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDSW" xed="VPADDSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_adds_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDSW" xed="VPADDSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_adds_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDUSB" xed="VPADDUSB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_adds_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDUSB" xed="VPADDUSB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_adds_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDUSB" xed="VPADDUSB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_adds_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDUSW" xed="VPADDUSW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_adds_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDUSW" xed="VPADDUSW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_adds_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDUSW" xed="VPADDUSW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := a[i+15:i] + b[i+15:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDW" xed="VPADDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] + b[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDW" xed="VPADDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] + b[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDW" xed="VPADDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_avg_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPAVGB" xed="VPAVGB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_avg_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPAVGB" xed="VPAVGB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_avg_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPAVGB" xed="VPAVGB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_avg_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPAVGW" xed="VPAVGW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_avg_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPAVGW" xed="VPAVGW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_avg_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPAVGW" xed="VPAVGW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maddubs_epi16" tech="AVX-512">
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Vertically multiply each unsigned 8-bit integer from "a" with the corresponding signed 8-bit integer from "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMADDUBSW" xed="VPMADDUBSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_maddubs_epi16" tech="AVX-512">
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply packed unsigned 8-bit integers in "a" by packed signed 8-bit integers in "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMADDUBSW" xed="VPMADDUBSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_maddubs_epi16" tech="AVX-512">
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply packed unsigned 8-bit integers in "a" by packed signed 8-bit integers in "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMADDUBSW" xed="VPMADDUBSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_madd_epi16" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMADDWD" xed="VPMADDWD_ZMMi32_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_madd_epi16" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMADDWD" xed="VPMADDWD_ZMMi32_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_madd_epi16" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMADDWD" xed="VPMADDWD_ZMMi32_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXSB" xed="VPMAXSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXSB" xed="VPMAXSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXSB" xed="VPMAXSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXSW" xed="VPMAXSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXSW" xed="VPMAXSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXSW" xed="VPMAXSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXUB" xed="VPMAXUB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXUB" xed="VPMAXUB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXUB" xed="VPMAXUB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXUW" xed="VPMAXUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXUW" xed="VPMAXUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXUW" xed="VPMAXUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINSB" xed="VPMINSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINSB" xed="VPMINSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINSB" xed="VPMINSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINSW" xed="VPMINSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINSW" xed="VPMINSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINSW" xed="VPMINSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINUB" xed="VPMINUB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINUB" xed="VPMINUB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINUB" xed="VPMINUB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINUW" xed="VPMINUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINUW" xed="VPMINUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINUW" xed="VPMINUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mulhrs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
		dst[i+15:i] := tmp[16:1]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULHRSW" xed="VPMULHRSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mulhrs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
		dst[i+15:i] := tmp[16:1]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULHRSW" xed="VPMULHRSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mulhrs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
	dst[i+15:i] := tmp[16:1]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULHRSW" xed="VPMULHRSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mulhi_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := a[i+15:i] * b[i+15:i]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULHUW" xed="VPMULHUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mulhi_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := a[i+15:i] * b[i+15:i]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULHUW" xed="VPMULHUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mulhi_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	tmp[31:0] := a[i+15:i] * b[i+15:i]
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULHUW" xed="VPMULHUW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mulhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULHW" xed="VPMULHW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mulhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULHW" xed="VPMULHW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mulhi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULHW" xed="VPMULHW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mullo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULLW" xed="VPMULLW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mullo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
		dst[i+15:i] := tmp[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULLW" xed="VPMULLW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mullo_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[15:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULLW" xed="VPMULLW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] - b[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBB" xed="VPSUBB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[i+7:i] - b[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBB" xed="VPSUBB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := a[i+7:i] - b[i+7:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBB" xed="VPSUBB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_subs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBSB" xed="VPSUBSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_subs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBSB" xed="VPSUBSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_subs_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBSB" xed="VPSUBSB_ZMMi8_MASKmskw_ZMMi8_ZMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_subs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBSW" xed="VPSUBSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_subs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBSW" xed="VPSUBSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_subs_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBSW" xed="VPSUBSW_ZMMi16_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_subs_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBUSB" xed="VPSUBUSB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_subs_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBUSB" xed="VPSUBUSB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_subs_epu8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBUSB" xed="VPSUBUSB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_subs_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBUSW" xed="VPSUBUSW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_subs_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBUSW" xed="VPSUBUSW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_subs_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBUSW" xed="VPSUBUSW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] - b[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBW" xed="VPSUBW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[i+15:i] - b[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBW" xed="VPSUBW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := a[i+15:i] - b[i+15:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBW" xed="VPSUBW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_packs_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := Saturate16(a[31:0])
tmp_dst[31:16] := Saturate16(a[63:32])
tmp_dst[47:32] := Saturate16(a[95:64])
tmp_dst[63:48] := Saturate16(a[127:96])
tmp_dst[79:64] := Saturate16(b[31:0])
tmp_dst[95:80] := Saturate16(b[63:32])
tmp_dst[111:96] := Saturate16(b[95:64])
tmp_dst[127:112] := Saturate16(b[127:96])
tmp_dst[143:128] := Saturate16(a[159:128])
tmp_dst[159:144] := Saturate16(a[191:160])
tmp_dst[175:160] := Saturate16(a[223:192])
tmp_dst[191:176] := Saturate16(a[255:224])
tmp_dst[207:192] := Saturate16(b[159:128])
tmp_dst[223:208] := Saturate16(b[191:160])
tmp_dst[239:224] := Saturate16(b[223:192])
tmp_dst[255:240] := Saturate16(b[255:224])
tmp_dst[271:256] := Saturate16(a[287:256])
tmp_dst[287:272] := Saturate16(a[319:288])
tmp_dst[303:288] := Saturate16(a[351:320])
tmp_dst[319:304] := Saturate16(a[383:352])
tmp_dst[335:320] := Saturate16(b[287:256])
tmp_dst[351:336] := Saturate16(b[319:288])
tmp_dst[367:352] := Saturate16(b[351:320])
tmp_dst[383:368] := Saturate16(b[383:352])
tmp_dst[399:384] := Saturate16(a[415:384])
tmp_dst[415:400] := Saturate16(a[447:416])
tmp_dst[431:416] := Saturate16(a[479:448])
tmp_dst[447:432] := Saturate16(a[511:480])
tmp_dst[463:448] := Saturate16(b[415:384])
tmp_dst[479:464] := Saturate16(b[447:416])
tmp_dst[495:480] := Saturate16(b[479:448])
tmp_dst[511:496] := Saturate16(b[511:480])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPACKSSDW" xed="VPACKSSDW_ZMMi16_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_packs_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := Saturate16(a[31:0])
tmp_dst[31:16] := Saturate16(a[63:32])
tmp_dst[47:32] := Saturate16(a[95:64])
tmp_dst[63:48] := Saturate16(a[127:96])
tmp_dst[79:64] := Saturate16(b[31:0])
tmp_dst[95:80] := Saturate16(b[63:32])
tmp_dst[111:96] := Saturate16(b[95:64])
tmp_dst[127:112] := Saturate16(b[127:96])
tmp_dst[143:128] := Saturate16(a[159:128])
tmp_dst[159:144] := Saturate16(a[191:160])
tmp_dst[175:160] := Saturate16(a[223:192])
tmp_dst[191:176] := Saturate16(a[255:224])
tmp_dst[207:192] := Saturate16(b[159:128])
tmp_dst[223:208] := Saturate16(b[191:160])
tmp_dst[239:224] := Saturate16(b[223:192])
tmp_dst[255:240] := Saturate16(b[255:224])
tmp_dst[271:256] := Saturate16(a[287:256])
tmp_dst[287:272] := Saturate16(a[319:288])
tmp_dst[303:288] := Saturate16(a[351:320])
tmp_dst[319:304] := Saturate16(a[383:352])
tmp_dst[335:320] := Saturate16(b[287:256])
tmp_dst[351:336] := Saturate16(b[319:288])
tmp_dst[367:352] := Saturate16(b[351:320])
tmp_dst[383:368] := Saturate16(b[383:352])
tmp_dst[399:384] := Saturate16(a[415:384])
tmp_dst[415:400] := Saturate16(a[447:416])
tmp_dst[431:416] := Saturate16(a[479:448])
tmp_dst[447:432] := Saturate16(a[511:480])
tmp_dst[463:448] := Saturate16(b[415:384])
tmp_dst[479:464] := Saturate16(b[447:416])
tmp_dst[495:480] := Saturate16(b[479:448])
tmp_dst[511:496] := Saturate16(b[511:480])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPACKSSDW" xed="VPACKSSDW_ZMMi16_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_packs_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:0])
dst[31:16] := Saturate16(a[63:32])
dst[47:32] := Saturate16(a[95:64])
dst[63:48] := Saturate16(a[127:96])
dst[79:64] := Saturate16(b[31:0])
dst[95:80] := Saturate16(b[63:32])
dst[111:96] := Saturate16(b[95:64])
dst[127:112] := Saturate16(b[127:96])
dst[143:128] := Saturate16(a[159:128])
dst[159:144] := Saturate16(a[191:160])
dst[175:160] := Saturate16(a[223:192])
dst[191:176] := Saturate16(a[255:224])
dst[207:192] := Saturate16(b[159:128])
dst[223:208] := Saturate16(b[191:160])
dst[239:224] := Saturate16(b[223:192])
dst[255:240] := Saturate16(b[255:224])
dst[271:256] := Saturate16(a[287:256])
dst[287:272] := Saturate16(a[319:288])
dst[303:288] := Saturate16(a[351:320])
dst[319:304] := Saturate16(a[383:352])
dst[335:320] := Saturate16(b[287:256])
dst[351:336] := Saturate16(b[319:288])
dst[367:352] := Saturate16(b[351:320])
dst[383:368] := Saturate16(b[383:352])
dst[399:384] := Saturate16(a[415:384])
dst[415:400] := Saturate16(a[447:416])
dst[431:416] := Saturate16(a[479:448])
dst[447:432] := Saturate16(a[511:480])
dst[463:448] := Saturate16(b[415:384])
dst[479:464] := Saturate16(b[447:416])
dst[495:480] := Saturate16(b[479:448])
dst[511:496] := Saturate16(b[511:480])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPACKSSDW" xed="VPACKSSDW_ZMMi16_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_packs_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI8" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := Saturate8(a[15:0])
tmp_dst[15:8] := Saturate8(a[31:16])
tmp_dst[23:16] := Saturate8(a[47:32])
tmp_dst[31:24] := Saturate8(a[63:48])
tmp_dst[39:32] := Saturate8(a[79:64])
tmp_dst[47:40] := Saturate8(a[95:80])
tmp_dst[55:48] := Saturate8(a[111:96])
tmp_dst[63:56] := Saturate8(a[127:112])
tmp_dst[71:64] := Saturate8(b[15:0])
tmp_dst[79:72] := Saturate8(b[31:16])
tmp_dst[87:80] := Saturate8(b[47:32])
tmp_dst[95:88] := Saturate8(b[63:48])
tmp_dst[103:96] := Saturate8(b[79:64])
tmp_dst[111:104] := Saturate8(b[95:80])
tmp_dst[119:112] := Saturate8(b[111:96])
tmp_dst[127:120] := Saturate8(b[127:112])
tmp_dst[135:128] := Saturate8(a[143:128])
tmp_dst[143:136] := Saturate8(a[159:144])
tmp_dst[151:144] := Saturate8(a[175:160])
tmp_dst[159:152] := Saturate8(a[191:176])
tmp_dst[167:160] := Saturate8(a[207:192])
tmp_dst[175:168] := Saturate8(a[223:208])
tmp_dst[183:176] := Saturate8(a[239:224])
tmp_dst[191:184] := Saturate8(a[255:240])
tmp_dst[199:192] := Saturate8(b[143:128])
tmp_dst[207:200] := Saturate8(b[159:144])
tmp_dst[215:208] := Saturate8(b[175:160])
tmp_dst[223:216] := Saturate8(b[191:176])
tmp_dst[231:224] := Saturate8(b[207:192])
tmp_dst[239:232] := Saturate8(b[223:208])
tmp_dst[247:240] := Saturate8(b[239:224])
tmp_dst[255:248] := Saturate8(b[255:240])
tmp_dst[263:256] := Saturate8(a[271:256])
tmp_dst[271:264] := Saturate8(a[287:272])
tmp_dst[279:272] := Saturate8(a[303:288])
tmp_dst[287:280] := Saturate8(a[319:304])
tmp_dst[295:288] := Saturate8(a[335:320])
tmp_dst[303:296] := Saturate8(a[351:336])
tmp_dst[311:304] := Saturate8(a[367:352])
tmp_dst[319:312] := Saturate8(a[383:368])
tmp_dst[327:320] := Saturate8(b[271:256])
tmp_dst[335:328] := Saturate8(b[287:272])
tmp_dst[343:336] := Saturate8(b[303:288])
tmp_dst[351:344] := Saturate8(b[319:304])
tmp_dst[359:352] := Saturate8(b[335:320])
tmp_dst[367:360] := Saturate8(b[351:336])
tmp_dst[375:368] := Saturate8(b[367:352])
tmp_dst[383:376] := Saturate8(b[383:368])
tmp_dst[391:384] := Saturate8(a[399:384])
tmp_dst[399:392] := Saturate8(a[415:400])
tmp_dst[407:400] := Saturate8(a[431:416])
tmp_dst[415:408] := Saturate8(a[447:432])
tmp_dst[423:416] := Saturate8(a[463:448])
tmp_dst[431:424] := Saturate8(a[479:464])
tmp_dst[439:432] := Saturate8(a[495:480])
tmp_dst[447:440] := Saturate8(a[511:496])
tmp_dst[455:448] := Saturate8(b[399:384])
tmp_dst[463:456] := Saturate8(b[415:400])
tmp_dst[471:464] := Saturate8(b[431:416])
tmp_dst[479:472] := Saturate8(b[447:432])
tmp_dst[487:480] := Saturate8(b[463:448])
tmp_dst[495:488] := Saturate8(b[479:464])
tmp_dst[503:496] := Saturate8(b[495:480])
tmp_dst[511:504] := Saturate8(b[511:496])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPACKSSWB" xed="VPACKSSWB_ZMMi8_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_packs_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := Saturate8(a[15:0])
tmp_dst[15:8] := Saturate8(a[31:16])
tmp_dst[23:16] := Saturate8(a[47:32])
tmp_dst[31:24] := Saturate8(a[63:48])
tmp_dst[39:32] := Saturate8(a[79:64])
tmp_dst[47:40] := Saturate8(a[95:80])
tmp_dst[55:48] := Saturate8(a[111:96])
tmp_dst[63:56] := Saturate8(a[127:112])
tmp_dst[71:64] := Saturate8(b[15:0])
tmp_dst[79:72] := Saturate8(b[31:16])
tmp_dst[87:80] := Saturate8(b[47:32])
tmp_dst[95:88] := Saturate8(b[63:48])
tmp_dst[103:96] := Saturate8(b[79:64])
tmp_dst[111:104] := Saturate8(b[95:80])
tmp_dst[119:112] := Saturate8(b[111:96])
tmp_dst[127:120] := Saturate8(b[127:112])
tmp_dst[135:128] := Saturate8(a[143:128])
tmp_dst[143:136] := Saturate8(a[159:144])
tmp_dst[151:144] := Saturate8(a[175:160])
tmp_dst[159:152] := Saturate8(a[191:176])
tmp_dst[167:160] := Saturate8(a[207:192])
tmp_dst[175:168] := Saturate8(a[223:208])
tmp_dst[183:176] := Saturate8(a[239:224])
tmp_dst[191:184] := Saturate8(a[255:240])
tmp_dst[199:192] := Saturate8(b[143:128])
tmp_dst[207:200] := Saturate8(b[159:144])
tmp_dst[215:208] := Saturate8(b[175:160])
tmp_dst[223:216] := Saturate8(b[191:176])
tmp_dst[231:224] := Saturate8(b[207:192])
tmp_dst[239:232] := Saturate8(b[223:208])
tmp_dst[247:240] := Saturate8(b[239:224])
tmp_dst[255:248] := Saturate8(b[255:240])
tmp_dst[263:256] := Saturate8(a[271:256])
tmp_dst[271:264] := Saturate8(a[287:272])
tmp_dst[279:272] := Saturate8(a[303:288])
tmp_dst[287:280] := Saturate8(a[319:304])
tmp_dst[295:288] := Saturate8(a[335:320])
tmp_dst[303:296] := Saturate8(a[351:336])
tmp_dst[311:304] := Saturate8(a[367:352])
tmp_dst[319:312] := Saturate8(a[383:368])
tmp_dst[327:320] := Saturate8(b[271:256])
tmp_dst[335:328] := Saturate8(b[287:272])
tmp_dst[343:336] := Saturate8(b[303:288])
tmp_dst[351:344] := Saturate8(b[319:304])
tmp_dst[359:352] := Saturate8(b[335:320])
tmp_dst[367:360] := Saturate8(b[351:336])
tmp_dst[375:368] := Saturate8(b[367:352])
tmp_dst[383:376] := Saturate8(b[383:368])
tmp_dst[391:384] := Saturate8(a[399:384])
tmp_dst[399:392] := Saturate8(a[415:400])
tmp_dst[407:400] := Saturate8(a[431:416])
tmp_dst[415:408] := Saturate8(a[447:432])
tmp_dst[423:416] := Saturate8(a[463:448])
tmp_dst[431:424] := Saturate8(a[479:464])
tmp_dst[439:432] := Saturate8(a[495:480])
tmp_dst[447:440] := Saturate8(a[511:496])
tmp_dst[455:448] := Saturate8(b[399:384])
tmp_dst[463:456] := Saturate8(b[415:400])
tmp_dst[471:464] := Saturate8(b[431:416])
tmp_dst[479:472] := Saturate8(b[447:432])
tmp_dst[487:480] := Saturate8(b[463:448])
tmp_dst[495:488] := Saturate8(b[479:464])
tmp_dst[503:496] := Saturate8(b[495:480])
tmp_dst[511:504] := Saturate8(b[511:496])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPACKSSWB" xed="VPACKSSWB_ZMMi8_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_packs_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="SI8" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := Saturate8(a[15:0])
dst[15:8] := Saturate8(a[31:16])
dst[23:16] := Saturate8(a[47:32])
dst[31:24] := Saturate8(a[63:48])
dst[39:32] := Saturate8(a[79:64])
dst[47:40] := Saturate8(a[95:80])
dst[55:48] := Saturate8(a[111:96])
dst[63:56] := Saturate8(a[127:112])
dst[71:64] := Saturate8(b[15:0])
dst[79:72] := Saturate8(b[31:16])
dst[87:80] := Saturate8(b[47:32])
dst[95:88] := Saturate8(b[63:48])
dst[103:96] := Saturate8(b[79:64])
dst[111:104] := Saturate8(b[95:80])
dst[119:112] := Saturate8(b[111:96])
dst[127:120] := Saturate8(b[127:112])
dst[135:128] := Saturate8(a[143:128])
dst[143:136] := Saturate8(a[159:144])
dst[151:144] := Saturate8(a[175:160])
dst[159:152] := Saturate8(a[191:176])
dst[167:160] := Saturate8(a[207:192])
dst[175:168] := Saturate8(a[223:208])
dst[183:176] := Saturate8(a[239:224])
dst[191:184] := Saturate8(a[255:240])
dst[199:192] := Saturate8(b[143:128])
dst[207:200] := Saturate8(b[159:144])
dst[215:208] := Saturate8(b[175:160])
dst[223:216] := Saturate8(b[191:176])
dst[231:224] := Saturate8(b[207:192])
dst[239:232] := Saturate8(b[223:208])
dst[247:240] := Saturate8(b[239:224])
dst[255:248] := Saturate8(b[255:240])
dst[263:256] := Saturate8(a[271:256])
dst[271:264] := Saturate8(a[287:272])
dst[279:272] := Saturate8(a[303:288])
dst[287:280] := Saturate8(a[319:304])
dst[295:288] := Saturate8(a[335:320])
dst[303:296] := Saturate8(a[351:336])
dst[311:304] := Saturate8(a[367:352])
dst[319:312] := Saturate8(a[383:368])
dst[327:320] := Saturate8(b[271:256])
dst[335:328] := Saturate8(b[287:272])
dst[343:336] := Saturate8(b[303:288])
dst[351:344] := Saturate8(b[319:304])
dst[359:352] := Saturate8(b[335:320])
dst[367:360] := Saturate8(b[351:336])
dst[375:368] := Saturate8(b[367:352])
dst[383:376] := Saturate8(b[383:368])
dst[391:384] := Saturate8(a[399:384])
dst[399:392] := Saturate8(a[415:400])
dst[407:400] := Saturate8(a[431:416])
dst[415:408] := Saturate8(a[447:432])
dst[423:416] := Saturate8(a[463:448])
dst[431:424] := Saturate8(a[479:464])
dst[439:432] := Saturate8(a[495:480])
dst[447:440] := Saturate8(a[511:496])
dst[455:448] := Saturate8(b[399:384])
dst[463:456] := Saturate8(b[415:400])
dst[471:464] := Saturate8(b[431:416])
dst[479:472] := Saturate8(b[447:432])
dst[487:480] := Saturate8(b[463:448])
dst[495:488] := Saturate8(b[479:464])
dst[503:496] := Saturate8(b[495:480])
dst[511:504] := Saturate8(b[511:496])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPACKSSWB" xed="VPACKSSWB_ZMMi8_MASKmskw_ZMMi16_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_packus_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := SaturateU16(a[31:0])
tmp_dst[31:16] := SaturateU16(a[63:32])
tmp_dst[47:32] := SaturateU16(a[95:64])
tmp_dst[63:48] := SaturateU16(a[127:96])
tmp_dst[79:64] := SaturateU16(b[31:0])
tmp_dst[95:80] := SaturateU16(b[63:32])
tmp_dst[111:96] := SaturateU16(b[95:64])
tmp_dst[127:112] := SaturateU16(b[127:96])
tmp_dst[143:128] := SaturateU16(a[159:128])
tmp_dst[159:144] := SaturateU16(a[191:160])
tmp_dst[175:160] := SaturateU16(a[223:192])
tmp_dst[191:176] := SaturateU16(a[255:224])
tmp_dst[207:192] := SaturateU16(b[159:128])
tmp_dst[223:208] := SaturateU16(b[191:160])
tmp_dst[239:224] := SaturateU16(b[223:192])
tmp_dst[255:240] := SaturateU16(b[255:224])
tmp_dst[271:256] := SaturateU16(a[287:256])
tmp_dst[287:272] := SaturateU16(a[319:288])
tmp_dst[303:288] := SaturateU16(a[351:320])
tmp_dst[319:304] := SaturateU16(a[383:352])
tmp_dst[335:320] := SaturateU16(b[287:256])
tmp_dst[351:336] := SaturateU16(b[319:288])
tmp_dst[367:352] := SaturateU16(b[351:320])
tmp_dst[383:368] := SaturateU16(b[383:352])
tmp_dst[399:384] := SaturateU16(a[415:384])
tmp_dst[415:400] := SaturateU16(a[447:416])
tmp_dst[431:416] := SaturateU16(a[479:448])
tmp_dst[447:432] := SaturateU16(a[511:480])
tmp_dst[463:448] := SaturateU16(b[415:384])
tmp_dst[479:464] := SaturateU16(b[447:416])
tmp_dst[495:480] := SaturateU16(b[479:448])
tmp_dst[511:496] := SaturateU16(b[511:480])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPACKUSDW" xed="VPACKUSDW_ZMMu16_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_packus_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[15:0] := SaturateU16(a[31:0])
tmp_dst[31:16] := SaturateU16(a[63:32])
tmp_dst[47:32] := SaturateU16(a[95:64])
tmp_dst[63:48] := SaturateU16(a[127:96])
tmp_dst[79:64] := SaturateU16(b[31:0])
tmp_dst[95:80] := SaturateU16(b[63:32])
tmp_dst[111:96] := SaturateU16(b[95:64])
tmp_dst[127:112] := SaturateU16(b[127:96])
tmp_dst[143:128] := SaturateU16(a[159:128])
tmp_dst[159:144] := SaturateU16(a[191:160])
tmp_dst[175:160] := SaturateU16(a[223:192])
tmp_dst[191:176] := SaturateU16(a[255:224])
tmp_dst[207:192] := SaturateU16(b[159:128])
tmp_dst[223:208] := SaturateU16(b[191:160])
tmp_dst[239:224] := SaturateU16(b[223:192])
tmp_dst[255:240] := SaturateU16(b[255:224])
tmp_dst[271:256] := SaturateU16(a[287:256])
tmp_dst[287:272] := SaturateU16(a[319:288])
tmp_dst[303:288] := SaturateU16(a[351:320])
tmp_dst[319:304] := SaturateU16(a[383:352])
tmp_dst[335:320] := SaturateU16(b[287:256])
tmp_dst[351:336] := SaturateU16(b[319:288])
tmp_dst[367:352] := SaturateU16(b[351:320])
tmp_dst[383:368] := SaturateU16(b[383:352])
tmp_dst[399:384] := SaturateU16(a[415:384])
tmp_dst[415:400] := SaturateU16(a[447:416])
tmp_dst[431:416] := SaturateU16(a[479:448])
tmp_dst[447:432] := SaturateU16(a[511:480])
tmp_dst[463:448] := SaturateU16(b[415:384])
tmp_dst[479:464] := SaturateU16(b[447:416])
tmp_dst[495:480] := SaturateU16(b[479:448])
tmp_dst[511:496] := SaturateU16(b[511:480])
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := tmp_dst[i+15:i]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPACKUSDW" xed="VPACKUSDW_ZMMu16_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_packus_epi32" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := SaturateU16(a[31:0])
dst[31:16] := SaturateU16(a[63:32])
dst[47:32] := SaturateU16(a[95:64])
dst[63:48] := SaturateU16(a[127:96])
dst[79:64] := SaturateU16(b[31:0])
dst[95:80] := SaturateU16(b[63:32])
dst[111:96] := SaturateU16(b[95:64])
dst[127:112] := SaturateU16(b[127:96])
dst[143:128] := SaturateU16(a[159:128])
dst[159:144] := SaturateU16(a[191:160])
dst[175:160] := SaturateU16(a[223:192])
dst[191:176] := SaturateU16(a[255:224])
dst[207:192] := SaturateU16(b[159:128])
dst[223:208] := SaturateU16(b[191:160])
dst[239:224] := SaturateU16(b[223:192])
dst[255:240] := SaturateU16(b[255:224])
dst[271:256] := SaturateU16(a[287:256])
dst[287:272] := SaturateU16(a[319:288])
dst[303:288] := SaturateU16(a[351:320])
dst[319:304] := SaturateU16(a[383:352])
dst[335:320] := SaturateU16(b[287:256])
dst[351:336] := SaturateU16(b[319:288])
dst[367:352] := SaturateU16(b[351:320])
dst[383:368] := SaturateU16(b[383:352])
dst[399:384] := SaturateU16(a[415:384])
dst[415:400] := SaturateU16(a[447:416])
dst[431:416] := SaturateU16(a[479:448])
dst[447:432] := SaturateU16(a[511:480])
dst[463:448] := SaturateU16(b[415:384])
dst[479:464] := SaturateU16(b[447:416])
dst[495:480] := SaturateU16(b[479:448])
dst[511:496] := SaturateU16(b[511:480])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPACKUSDW" xed="VPACKUSDW_ZMMu16_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_packus_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := SaturateU8(a[15:0])
tmp_dst[15:8] := SaturateU8(a[31:16])
tmp_dst[23:16] := SaturateU8(a[47:32])
tmp_dst[31:24] := SaturateU8(a[63:48])
tmp_dst[39:32] := SaturateU8(a[79:64])
tmp_dst[47:40] := SaturateU8(a[95:80])
tmp_dst[55:48] := SaturateU8(a[111:96])
tmp_dst[63:56] := SaturateU8(a[127:112])
tmp_dst[71:64] := SaturateU8(b[15:0])
tmp_dst[79:72] := SaturateU8(b[31:16])
tmp_dst[87:80] := SaturateU8(b[47:32])
tmp_dst[95:88] := SaturateU8(b[63:48])
tmp_dst[103:96] := SaturateU8(b[79:64])
tmp_dst[111:104] := SaturateU8(b[95:80])
tmp_dst[119:112] := SaturateU8(b[111:96])
tmp_dst[127:120] := SaturateU8(b[127:112])
tmp_dst[135:128] := SaturateU8(a[143:128])
tmp_dst[143:136] := SaturateU8(a[159:144])
tmp_dst[151:144] := SaturateU8(a[175:160])
tmp_dst[159:152] := SaturateU8(a[191:176])
tmp_dst[167:160] := SaturateU8(a[207:192])
tmp_dst[175:168] := SaturateU8(a[223:208])
tmp_dst[183:176] := SaturateU8(a[239:224])
tmp_dst[191:184] := SaturateU8(a[255:240])
tmp_dst[199:192] := SaturateU8(b[143:128])
tmp_dst[207:200] := SaturateU8(b[159:144])
tmp_dst[215:208] := SaturateU8(b[175:160])
tmp_dst[223:216] := SaturateU8(b[191:176])
tmp_dst[231:224] := SaturateU8(b[207:192])
tmp_dst[239:232] := SaturateU8(b[223:208])
tmp_dst[247:240] := SaturateU8(b[239:224])
tmp_dst[255:248] := SaturateU8(b[255:240])
tmp_dst[263:256] := SaturateU8(a[271:256])
tmp_dst[271:264] := SaturateU8(a[287:272])
tmp_dst[279:272] := SaturateU8(a[303:288])
tmp_dst[287:280] := SaturateU8(a[319:304])
tmp_dst[295:288] := SaturateU8(a[335:320])
tmp_dst[303:296] := SaturateU8(a[351:336])
tmp_dst[311:304] := SaturateU8(a[367:352])
tmp_dst[319:312] := SaturateU8(a[383:368])
tmp_dst[327:320] := SaturateU8(b[271:256])
tmp_dst[335:328] := SaturateU8(b[287:272])
tmp_dst[343:336] := SaturateU8(b[303:288])
tmp_dst[351:344] := SaturateU8(b[319:304])
tmp_dst[359:352] := SaturateU8(b[335:320])
tmp_dst[367:360] := SaturateU8(b[351:336])
tmp_dst[375:368] := SaturateU8(b[367:352])
tmp_dst[383:376] := SaturateU8(b[383:368])
tmp_dst[391:384] := SaturateU8(a[399:384])
tmp_dst[399:392] := SaturateU8(a[415:400])
tmp_dst[407:400] := SaturateU8(a[431:416])
tmp_dst[415:408] := SaturateU8(a[447:432])
tmp_dst[423:416] := SaturateU8(a[463:448])
tmp_dst[431:424] := SaturateU8(a[479:464])
tmp_dst[439:432] := SaturateU8(a[495:480])
tmp_dst[447:440] := SaturateU8(a[511:496])
tmp_dst[455:448] := SaturateU8(b[399:384])
tmp_dst[463:456] := SaturateU8(b[415:400])
tmp_dst[471:464] := SaturateU8(b[431:416])
tmp_dst[479:472] := SaturateU8(b[447:432])
tmp_dst[487:480] := SaturateU8(b[463:448])
tmp_dst[495:488] := SaturateU8(b[479:464])
tmp_dst[503:496] := SaturateU8(b[495:480])
tmp_dst[511:504] := SaturateU8(b[511:496])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPACKUSWB" xed="VPACKUSWB_ZMMu8_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_packus_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[7:0] := SaturateU8(a[15:0])
tmp_dst[15:8] := SaturateU8(a[31:16])
tmp_dst[23:16] := SaturateU8(a[47:32])
tmp_dst[31:24] := SaturateU8(a[63:48])
tmp_dst[39:32] := SaturateU8(a[79:64])
tmp_dst[47:40] := SaturateU8(a[95:80])
tmp_dst[55:48] := SaturateU8(a[111:96])
tmp_dst[63:56] := SaturateU8(a[127:112])
tmp_dst[71:64] := SaturateU8(b[15:0])
tmp_dst[79:72] := SaturateU8(b[31:16])
tmp_dst[87:80] := SaturateU8(b[47:32])
tmp_dst[95:88] := SaturateU8(b[63:48])
tmp_dst[103:96] := SaturateU8(b[79:64])
tmp_dst[111:104] := SaturateU8(b[95:80])
tmp_dst[119:112] := SaturateU8(b[111:96])
tmp_dst[127:120] := SaturateU8(b[127:112])
tmp_dst[135:128] := SaturateU8(a[143:128])
tmp_dst[143:136] := SaturateU8(a[159:144])
tmp_dst[151:144] := SaturateU8(a[175:160])
tmp_dst[159:152] := SaturateU8(a[191:176])
tmp_dst[167:160] := SaturateU8(a[207:192])
tmp_dst[175:168] := SaturateU8(a[223:208])
tmp_dst[183:176] := SaturateU8(a[239:224])
tmp_dst[191:184] := SaturateU8(a[255:240])
tmp_dst[199:192] := SaturateU8(b[143:128])
tmp_dst[207:200] := SaturateU8(b[159:144])
tmp_dst[215:208] := SaturateU8(b[175:160])
tmp_dst[223:216] := SaturateU8(b[191:176])
tmp_dst[231:224] := SaturateU8(b[207:192])
tmp_dst[239:232] := SaturateU8(b[223:208])
tmp_dst[247:240] := SaturateU8(b[239:224])
tmp_dst[255:248] := SaturateU8(b[255:240])
tmp_dst[263:256] := SaturateU8(a[271:256])
tmp_dst[271:264] := SaturateU8(a[287:272])
tmp_dst[279:272] := SaturateU8(a[303:288])
tmp_dst[287:280] := SaturateU8(a[319:304])
tmp_dst[295:288] := SaturateU8(a[335:320])
tmp_dst[303:296] := SaturateU8(a[351:336])
tmp_dst[311:304] := SaturateU8(a[367:352])
tmp_dst[319:312] := SaturateU8(a[383:368])
tmp_dst[327:320] := SaturateU8(b[271:256])
tmp_dst[335:328] := SaturateU8(b[287:272])
tmp_dst[343:336] := SaturateU8(b[303:288])
tmp_dst[351:344] := SaturateU8(b[319:304])
tmp_dst[359:352] := SaturateU8(b[335:320])
tmp_dst[367:360] := SaturateU8(b[351:336])
tmp_dst[375:368] := SaturateU8(b[367:352])
tmp_dst[383:376] := SaturateU8(b[383:368])
tmp_dst[391:384] := SaturateU8(a[399:384])
tmp_dst[399:392] := SaturateU8(a[415:400])
tmp_dst[407:400] := SaturateU8(a[431:416])
tmp_dst[415:408] := SaturateU8(a[447:432])
tmp_dst[423:416] := SaturateU8(a[463:448])
tmp_dst[431:424] := SaturateU8(a[479:464])
tmp_dst[439:432] := SaturateU8(a[495:480])
tmp_dst[447:440] := SaturateU8(a[511:496])
tmp_dst[455:448] := SaturateU8(b[399:384])
tmp_dst[463:456] := SaturateU8(b[415:400])
tmp_dst[471:464] := SaturateU8(b[431:416])
tmp_dst[479:472] := SaturateU8(b[447:432])
tmp_dst[487:480] := SaturateU8(b[463:448])
tmp_dst[495:488] := SaturateU8(b[479:464])
tmp_dst[503:496] := SaturateU8(b[495:480])
tmp_dst[511:504] := SaturateU8(b[511:496])
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := tmp_dst[i+7:i]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPACKUSWB" xed="VPACKUSWB_ZMMu8_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_packus_epi16" tech="AVX-512">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := SaturateU8(a[15:0])
dst[15:8] := SaturateU8(a[31:16])
dst[23:16] := SaturateU8(a[47:32])
dst[31:24] := SaturateU8(a[63:48])
dst[39:32] := SaturateU8(a[79:64])
dst[47:40] := SaturateU8(a[95:80])
dst[55:48] := SaturateU8(a[111:96])
dst[63:56] := SaturateU8(a[127:112])
dst[71:64] := SaturateU8(b[15:0])
dst[79:72] := SaturateU8(b[31:16])
dst[87:80] := SaturateU8(b[47:32])
dst[95:88] := SaturateU8(b[63:48])
dst[103:96] := SaturateU8(b[79:64])
dst[111:104] := SaturateU8(b[95:80])
dst[119:112] := SaturateU8(b[111:96])
dst[127:120] := SaturateU8(b[127:112])
dst[135:128] := SaturateU8(a[143:128])
dst[143:136] := SaturateU8(a[159:144])
dst[151:144] := SaturateU8(a[175:160])
dst[159:152] := SaturateU8(a[191:176])
dst[167:160] := SaturateU8(a[207:192])
dst[175:168] := SaturateU8(a[223:208])
dst[183:176] := SaturateU8(a[239:224])
dst[191:184] := SaturateU8(a[255:240])
dst[199:192] := SaturateU8(b[143:128])
dst[207:200] := SaturateU8(b[159:144])
dst[215:208] := SaturateU8(b[175:160])
dst[223:216] := SaturateU8(b[191:176])
dst[231:224] := SaturateU8(b[207:192])
dst[239:232] := SaturateU8(b[223:208])
dst[247:240] := SaturateU8(b[239:224])
dst[255:248] := SaturateU8(b[255:240])
dst[263:256] := SaturateU8(a[271:256])
dst[271:264] := SaturateU8(a[287:272])
dst[279:272] := SaturateU8(a[303:288])
dst[287:280] := SaturateU8(a[319:304])
dst[295:288] := SaturateU8(a[335:320])
dst[303:296] := SaturateU8(a[351:336])
dst[311:304] := SaturateU8(a[367:352])
dst[319:312] := SaturateU8(a[383:368])
dst[327:320] := SaturateU8(b[271:256])
dst[335:328] := SaturateU8(b[287:272])
dst[343:336] := SaturateU8(b[303:288])
dst[351:344] := SaturateU8(b[319:304])
dst[359:352] := SaturateU8(b[335:320])
dst[367:360] := SaturateU8(b[351:336])
dst[375:368] := SaturateU8(b[367:352])
dst[383:376] := SaturateU8(b[383:368])
dst[391:384] := SaturateU8(a[399:384])
dst[399:392] := SaturateU8(a[415:400])
dst[407:400] := SaturateU8(a[431:416])
dst[415:408] := SaturateU8(a[447:432])
dst[423:416] := SaturateU8(a[463:448])
dst[431:424] := SaturateU8(a[479:464])
dst[439:432] := SaturateU8(a[495:480])
dst[447:440] := SaturateU8(a[511:496])
dst[455:448] := SaturateU8(b[399:384])
dst[463:456] := SaturateU8(b[415:400])
dst[471:464] := SaturateU8(b[431:416])
dst[479:472] := SaturateU8(b[447:432])
dst[487:480] := SaturateU8(b[463:448])
dst[495:488] := SaturateU8(b[479:464])
dst[503:496] := SaturateU8(b[495:480])
dst[511:504] := SaturateU8(b[511:496])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPACKUSWB" xed="VPACKUSWB_ZMMu8_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	dst[l+7:l] := Saturate8(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVSWB" xed="VPMOVSWB_YMMi8_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m256i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVSWB" xed="VPMOVSWB_YMMi8_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVSWB" xed="VPMOVSWB_MEMi8_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtsepi16_epi8" tech="AVX-512">
	<return etype="SI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVSWB" xed="VPMOVSWB_YMMi8_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi8_epi16" tech="AVX-512">
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	l := j*16
	dst[l+15:l] := SignExtend16(a[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VPMOVSXBW" xed="VPMOVSXBW_ZMMi16_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi8_epi16" tech="AVX-512">
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := SignExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VPMOVSXBW" xed="VPMOVSXBW_ZMMi16_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi8_epi16" tech="AVX-512">
	<return etype="SI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI8" type="__m256i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := SignExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VPMOVSXBW" xed="VPMOVSXBW_ZMMi16_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	dst[l+7:l] := SaturateU8(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVUSWB" xed="VPMOVUSWB_YMMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVUSWB" xed="VPMOVUSWB_YMMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVUSWB" xed="VPMOVUSWB_MEMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtusepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVUSWB" xed="VPMOVUSWB_YMMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	dst[l+7:l] := Truncate8(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVWB" xed="VPMOVWB_YMMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+15:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVWB" xed="VPMOVWB_YMMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi16_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+15:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVWB" xed="VPMOVWB_MEMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi16_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+15:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVWB" xed="VPMOVWB_YMMu8_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu8_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	l := j*16
	dst[l+15:l] := ZeroExtend16(a[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VPMOVZXBW" xed="VPMOVZXBW_ZMMi16_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu8_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := ZeroExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VPMOVZXBW" xed="VPMOVZXBW_ZMMi16_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu8_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	l := j*16
	IF k[j]
		dst[l+15:l] := ZeroExtend16(a[i+7:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VPMOVZXBW" xed="VPMOVZXBW_ZMMi16_MASKmskw_YMMi8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_set1_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, r8" name="VPBROADCASTB" xed="VPBROADCASTB_ZMMu8_MASKmskw_GPR32u8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_set1_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[7:0]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, r8" name="VPBROADCASTB" xed="VPBROADCASTB_ZMMu8_MASKmskw_GPR32u8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_set1_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast 16-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, r16" name="VPBROADCASTW" xed="VPBROADCASTW_ZMMu16_MASKmskw_GPR32u16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_set1_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[15:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, r16" name="VPBROADCASTW" xed="VPBROADCASTW_ZMMu16_MASKmskw_GPR32u16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPB" xed="VPCMPB_MASKmskw_MASKmskw_ZMMi8_ZMMi8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] OP b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] == b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &gt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt;= b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] &lt; b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epu8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ( a[i+7:i] != b[i+7:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUB" xed="VPCMPUB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epu16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPUW" xed="VPCMPUW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="const int" varname="imm8" />
	<description>Compare packed signed 16-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] OP b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] == b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &gt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt;= b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] &lt; b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ( a[i+15:i] != b[i+15:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPW" xed="VPCMPW_MASKmskw_MASKmskw_ZMMi16_ZMMi16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_test_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ((a[i+7:i] AND b[i+7:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTMB" xed="VPTESTMB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_test_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ((a[i+7:i] AND b[i+7:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTMB" xed="VPTESTMB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_test_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ((a[i+15:i] AND b[i+15:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTMW" xed="VPTESTMW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_test_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ((a[i+15:i] AND b[i+15:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTMW" xed="VPTESTMW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_testn_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="k1" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k1[j]
		k[j] := ((a[i+7:i] AND b[i+7:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTNMB" xed="VPTESTNMB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_testn_epi8_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 8-bit integers in "a" and "b", producing intermediate 8-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	k[j] := ((a[i+7:i] AND b[i+7:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTNMB" xed="VPTESTNMB_MASKmskw_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_testn_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k1[j]
		k[j] := ((a[i+15:i] AND b[i+15:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTNMW" xed="VPTESTNMW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_testn_epi16_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 16-bit integers in "a" and "b", producing intermediate 16-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	k[j] := ((a[i+15:i] AND b[i+15:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTNMW" xed="VPTESTNMW_MASKmskw_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_bslli_epi128" tech="AVX-512">
	<return etype="M128" type="__m512i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift 128-bit lanes in "a" left by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &lt;&lt; (tmp*8)
dst[255:128] := a[255:128] &lt;&lt; (tmp*8)
dst[383:256] := a[383:256] &lt;&lt; (tmp*8)
dst[511:384] := a[511:384] &lt;&lt; (tmp*8)
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSLLDQ" xed="VPSLLDQ_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSLLVW" xed="VPSLLVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSLLVW" xed="VPSLLVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sllv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSLLVW" xed="VPSLLVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sll_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSLLW" xed="VPSLLW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_slli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSLLW" xed="VPSLLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sll_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSLLW" xed="VPSLLW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_slli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSLLW" xed="VPSLLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sll_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSLLW" xed="VPSLLW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_slli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSLLW" xed="VPSLLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSRAVW" xed="VPSRAVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSRAVW" xed="VPSRAVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srav_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
	ELSE
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSRAVW" xed="VPSRAVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sra_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSRAW" xed="VPSRAW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srai_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSRAW" xed="VPSRAW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sra_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSRAW" xed="VPSRAW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srai_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
		ELSE
			dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSRAW" xed="VPSRAW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sra_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSRAW" xed="VPSRAW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srai_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSRAW" xed="VPSRAW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_bsrli_epi128" tech="AVX-512">
	<return etype="M128" type="__m512i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift 128-bit lanes in "a" right by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &gt;&gt; (tmp*8)
dst[255:128] := a[255:128] &gt;&gt; (tmp*8)
dst[383:256] := a[383:256] &gt;&gt; (tmp*8)
dst[511:384] := a[511:384] &gt;&gt; (tmp*8)
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSRLDQ" xed="VPSRLDQ_ZMMu8_ZMMu8_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSRLVW" xed="VPSRLVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[i+15:i] &lt; 16
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
		ELSE
			dst[i+15:i] := 0
		FI
	ELSE
		dst[i+15:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSRLVW" xed="VPSRLVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srlv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF count[i+15:i] &lt; 16
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSRLVW" xed="VPSRLVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srl_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSRLW" xed="VPSRLW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSRLW" xed="VPSRLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srl_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF count[63:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSRLW" xed="VPSRLW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		IF imm8[7:0] &gt; 15
			dst[i+15:i] := 0
		ELSE
			dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSRLW" xed="VPSRLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srl_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSRLW" xed="VPSRLW_ZMMu16_MASKmskw_ZMMu16_XMMu16_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srli_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSRLW" xed="VPSRLW_ZMMu16_MASKmskw_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_kadd_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Add 32-bit masks in "a" and "b", and store the result in "k".</description>
	<operation>
k[31:0] := a[31:0] + b[31:0]
k[MAX:32] := 0
	</operation>
	<instruction form="k, k, k" name="KADDD" xed="KADDD_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kadd_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Add 64-bit masks in "a" and "b", and store the result in "k".</description>
	<operation>
k[63:0] := a[63:0] + b[63:0]
k[MAX:64] := 0
	</operation>
	<instruction form="k, k, k" name="KADDQ" xed="KADDQ_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kand_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise AND of 32-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[31:0] := a[31:0] AND b[31:0]
k[MAX:32] := 0
	</operation>
	<instruction form="k, k, k" name="KANDD" xed="KANDD_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kand_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise AND of 64-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[63:0] := a[63:0] AND b[63:0]
k[MAX:64] := 0
	</operation>
	<instruction form="k, k, k" name="KANDQ" xed="KANDQ_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kandn_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise NOT of 32-bit masks "a" and then AND with "b", and store the result in "k".</description>
	<operation>
k[31:0] := (NOT a[31:0]) AND b[31:0]
k[MAX:32] := 0
	</operation>
	<instruction form="k, k, k" name="KANDND" xed="KANDND_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kandn_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise NOT of 64-bit masks "a" and then AND with "b", and store the result in "k".</description>
	<operation>
k[63:0] := (NOT a[63:0]) AND b[63:0]
k[MAX:64] := 0
	</operation>
	<instruction form="k, k, k" name="KANDNQ" xed="KANDNQ_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_knot_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<description>Compute the bitwise NOT of 32-bit mask "a", and store the result in "k".</description>
	<operation>
k[31:0] := NOT a[31:0]
k[MAX:32] := 0
	</operation>
	<instruction form="k, k" name="KNOTD" xed="KNOTD_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_knot_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<description>Compute the bitwise NOT of 64-bit mask "a", and store the result in "k".</description>
	<operation>
k[63:0] := NOT a[63:0]
k[MAX:64] := 0
	</operation>
	<instruction form="k, k" name="KNOTQ" xed="KNOTQ_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kor_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise OR of 32-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[31:0] := a[31:0] OR b[31:0]
k[MAX:32] := 0
	</operation>
	<instruction form="k, k, k" name="KORD" xed="KORD_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kor_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise OR of 64-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[63:0] := a[63:0] OR b[63:0]
k[MAX:64] := 0
	</operation>
	<instruction form="k, k, k" name="KORQ" xed="KORQ_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxnor_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise XNOR of 32-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[31:0] := NOT (a[31:0] XOR b[31:0])
k[MAX:32] := 0
	</operation>
	<instruction form="k, k, k" name="KXNORD" xed="KXNORD_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxnor_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise XNOR of 64-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[63:0] := NOT (a[63:0] XOR b[63:0])
k[MAX:64] := 0
	</operation>
	<instruction form="k, k, k" name="KXNORQ" xed="KXNORQ_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxor_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise XOR of 32-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[31:0] := a[31:0] XOR b[31:0]
k[MAX:32] := 0
	</operation>
	<instruction form="k, k, k" name="KXORD" xed="KXORD_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxor_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise XOR of 64-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[63:0] := a[63:0] XOR b[63:0]
k[MAX:64] := 0
	</operation>
	<instruction form="k, k, k" name="KXORQ" xed="KXORQ_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftli_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 32-bit mask "a" left by "count" while shifting in zeros, and store the least significant 32 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 31
	k[31:0] := a[31:0] &lt;&lt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTLD" xed="KSHIFTLD_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftli_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 64-bit mask "a" left by "count" while shifting in zeros, and store the least significant 64 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 63
	k[63:0] := a[63:0] &lt;&lt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTLQ" xed="KSHIFTLQ_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftri_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 32-bit mask "a" right by "count" while shifting in zeros, and store the least significant 32 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 31
	k[31:0] := a[31:0] &gt;&gt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTRD" xed="KSHIFTRD_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftri_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 64-bit mask "a" right by "count" while shifting in zeros, and store the least significant 64 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 63
	k[63:0] := a[63:0] &gt;&gt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTRQ" xed="KSHIFTRQ_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortest_mask32_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="all_ones" />
	<description>Compute the bitwise OR of 32-bit masks "a" and "b". If the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". If the result is all ones, store 1 in "all_ones", otherwise store 0 in "all_ones".</description>
	<operation>
tmp[31:0] := a[31:0] OR b[31:0]
IF tmp[31:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
IF tmp[31:0] == 0xFFFFFFFF
	MEM[all_ones+7:all_ones] := 1
ELSE
	MEM[all_ones+7:all_ones] := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTD" xed="KORTESTD_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestz_mask32_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise OR of 32-bit masks "a" and "b". If the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[31:0] := a[31:0] OR b[31:0]
IF tmp[31:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTD" xed="KORTESTD_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestc_mask32_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise OR of 32-bit masks "a" and "b". If the result is all ones, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[31:0] := a[31:0] OR b[31:0]
IF tmp[31:0] == 0xFFFFFFFF
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTD" xed="KORTESTD_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortest_mask64_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="all_ones" />
	<description>Compute the bitwise OR of 64-bit masks "a" and "b". If the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". If the result is all ones, store 1 in "all_ones", otherwise store 0 in "all_ones".</description>
	<operation>
tmp[63:0] := a[63:0] OR b[63:0]
IF tmp[63:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
IF tmp[7:0] == 0xFFFFFFFFFFFFFFFF
	MEM[all_ones+7:all_ones] := 1
ELSE
	MEM[all_ones+7:all_ones] := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTQ" xed="KORTESTQ_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestz_mask64_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise OR of 64-bit masks "a" and "b". If the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[63:0] := a[63:0] OR b[63:0]
IF tmp[63:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTQ" xed="KORTESTQ_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestc_mask64_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise OR of 64-bit masks "a" and "b". If the result is all ones, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[63:0] := a[63:0] OR b[63:0]
IF tmp[63:0] == 0xFFFFFFFFFFFFFFFF
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTQ" xed="KORTESTQ_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktest_mask32_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="and_not" />
	<description>Compute the bitwise AND of 32-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". Compute the bitwise NOT of "a" and then AND with "b", if the result is all zeros, store 1 in "and_not", otherwise store 0 in "and_not".</description>
	<operation>
tmp1[31:0] := a[31:0] AND b[31:0]
IF tmp1[31:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
tmp2[31:0] := (NOT a[31:0]) AND b[31:0]
IF tmp2[31:0] == 0x0
	MEM[and_not+7:and_not] := 1
ELSE
	MEM[and_not+7:and_not] := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTD" xed="KTESTD_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestz_mask32_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise AND of 32-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[31:0] := a[31:0] AND b[31:0]
IF tmp[31:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTD" xed="KTESTD_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestc_mask32_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="b" />
	<description>Compute the bitwise NOT of 32-bit mask "a" and then AND with "b", if the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[31:0] := (NOT a[31:0]) AND b[31:0]
IF tmp[31:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTD" xed="KTESTD_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktest_mask64_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="and_not" />
	<description>Compute the bitwise AND of 64-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". Compute the bitwise NOT of "a" and then AND with "b", if the result is all zeros, store 1 in "and_not", otherwise store 0 in "and_not".</description>
	<operation>
tmp1[63:0] := a[63:0] AND b[63:0]
IF tmp1[63:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
tmp2[63:0] := (NOT a[63:0]) AND b[63:0]
IF tmp2[63:0] == 0x0
	MEM[and_not+7:and_not] := 1
ELSE
	MEM[and_not+7:and_not] := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTQ" xed="KTESTQ_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestz_mask64_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise AND of 64-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[63:0] := a[63:0] AND b[63:0]
IF tmp[63:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTQ" xed="KTESTQ_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestc_mask64_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="b" />
	<description>Compute the bitwise NOT of 64-bit mask "a" and then AND with "b", if the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[63:0] := (NOT a[63:0]) AND b[63:0]
IF tmp[63:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTQ" xed="KTESTQ_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtmask32_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="a" />
	<description>Convert 32-bit mask "a" into an integer value, and store the result in "dst".</description>
	<operation>
dst := ZeroExtend32(a[31:0])
	</operation>
	<instruction form="r32, k" name="KMOVD" xed="KMOVD_GPR32u32_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtmask64_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="a" />
	<description>Convert 64-bit mask "a" into an integer value, and store the result in "dst".</description>
	<operation>
dst := ZeroExtend64(a[63:0])
	</operation>
	<instruction form="r64, k" name="KMOVQ" xed="KMOVQ_GPR64u64_MASKmskw_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtu32_mask32" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Convert integer value "a" into an 32-bit mask, and store the result in "k".</description>
	<operation>
k := ZeroExtend32(a[31:0])
	</operation>
	<instruction form="k, r32" name="KMOVD" xed="KMOVD_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtu64_mask64" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Convert integer value "a" into an 64-bit mask, and store the result in "k".</description>
	<operation>
k := ZeroExtend64(a[63:0])
	</operation>
	<instruction form="k, r64" name="KMOVQ" xed="KMOVQ_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512BW</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_broadcastmb_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Broadcast the low 8-bits from input mask "k" to all 64-bit elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ZeroExtend64(k[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm" name="VPBROADCASTMB2Q" xed="VPBROADCASTMB2Q_YMMu64_MASKu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastmb_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Broadcast the low 8-bits from input mask "k" to all 64-bit elements of "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ZeroExtend64(k[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm" name="VPBROADCASTMB2Q" xed="VPBROADCASTMB2Q_XMMu64_MASKu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcastmw_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Broadcast the low 16-bits from input mask "k" to all 32-bit elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ZeroExtend32(k[15:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm" name="VPBROADCASTMW2D" xed="VPBROADCASTMW2D_YMMu32_MASKu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_broadcastmw_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Broadcast the low 16-bits from input mask "k" to all 32-bit elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ZeroExtend32(k[15:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm" name="VPBROADCASTMW2D" xed="VPBROADCASTMW2D_XMMu32_MASKu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit. Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	FOR k := 0 to j-1
		m := k*32
		dst[i+k] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
	ENDFOR
	dst[i+31:i+j] := 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPCONFLICTD" xed="VPCONFLICTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		FOR l := 0 to j-1
			m := l*32
			dst[i+l] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
		ENDFOR
		dst[i+31:i+j] := 0
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPCONFLICTD" xed="VPCONFLICTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		FOR l := 0 to j-1
			m := l*32
			dst[i+l] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
		ENDFOR
		dst[i+31:i+j] := 0
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPCONFLICTD" xed="VPCONFLICTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit. Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	FOR k := 0 to j-1
		m := k*32
		dst[i+k] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
	ENDFOR
	dst[i+31:i+j] := 0
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPCONFLICTD" xed="VPCONFLICTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		FOR l := 0 to j-1
			m := l*32
			dst[i+l] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
		ENDFOR
		dst[i+31:i+j] := 0
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPCONFLICTD" xed="VPCONFLICTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		FOR l := 0 to j-1
			m := l*32
			dst[i+l] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
		ENDFOR
		dst[i+31:i+j] := 0
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPCONFLICTD" xed="VPCONFLICTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit. Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	FOR k := 0 to j-1
		m := k*64
		dst[i+k] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
	ENDFOR
	dst[i+63:i+j] := 0
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPCONFLICTQ" xed="VPCONFLICTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		FOR l := 0 to j-1
			m := l*64
			dst[i+l] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
		ENDFOR
		dst[i+63:i+j] := 0
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPCONFLICTQ" xed="VPCONFLICTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		FOR l := 0 to j-1
			m := l*64
			dst[i+l] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
		ENDFOR
		dst[i+63:i+j] := 0
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPCONFLICTQ" xed="VPCONFLICTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit. Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	FOR k := 0 to j-1
		m := k*64
		dst[i+k] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
	ENDFOR
	dst[i+63:i+j] := 0
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPCONFLICTQ" xed="VPCONFLICTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		FOR l := 0 to j-1
			m := l*64
			dst[i+l] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
		ENDFOR
		dst[i+63:i+j] := 0
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPCONFLICTQ" xed="VPCONFLICTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		FOR l := 0 to j-1
			m := l*64
			dst[i+l] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
		ENDFOR
		dst[i+63:i+j] := 0
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPCONFLICTQ" xed="VPCONFLICTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	tmp := 31
	dst[i+31:i] := 0
	DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
		tmp := tmp - 1
		dst[i+31:i] := dst[i+31:i] + 1
	OD
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPLZCNTD" xed="VPLZCNTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp := 31
		dst[i+31:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+31:i] := dst[i+31:i] + 1
		OD
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPLZCNTD" xed="VPLZCNTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp := 31
		dst[i+31:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+31:i] := dst[i+31:i] + 1
		OD
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPLZCNTD" xed="VPLZCNTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	tmp := 31
	dst[i+31:i] := 0
	DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
		tmp := tmp - 1
		dst[i+31:i] := dst[i+31:i] + 1
	OD
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPLZCNTD" xed="VPLZCNTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp := 31
		dst[i+31:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+31:i] := dst[i+31:i] + 1
		OD
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPLZCNTD" xed="VPLZCNTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp := 31
		dst[i+31:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+31:i] := dst[i+31:i] + 1
		OD
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPLZCNTD" xed="VPLZCNTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp := 63
	dst[i+63:i] := 0
	DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
		tmp := tmp - 1
		dst[i+63:i] := dst[i+63:i] + 1
	OD
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPLZCNTQ" xed="VPLZCNTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp := 63
		dst[i+63:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+63:i] := dst[i+63:i] + 1
		OD
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPLZCNTQ" xed="VPLZCNTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp := 63
		dst[i+63:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+63:i] := dst[i+63:i] + 1
		OD
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPLZCNTQ" xed="VPLZCNTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp := 63
	dst[i+63:i] := 0
	DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
		tmp := tmp - 1
		dst[i+63:i] := dst[i+63:i] + 1
	OD
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPLZCNTQ" xed="VPLZCNTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp := 63
		dst[i+63:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+63:i] := dst[i+63:i] + 1
		OD
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPLZCNTQ" xed="VPLZCNTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp := 63
		dst[i+63:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+63:i] := dst[i+63:i] + 1
		OD
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPLZCNTQ" xed="VPLZCNTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512CD</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_broadcastmb_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Broadcast the low 8-bits from input mask "k" to all 64-bit elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ZeroExtend64(k[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm" name="VPBROADCASTMB2Q" xed="VPBROADCASTMB2Q_ZMMu64_MASKu64_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcastmw_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Broadcast the low 16-bits from input mask "k" to all 32-bit elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ZeroExtend32(k[15:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm" name="VPBROADCASTMW2D" xed="VPBROADCASTMW2D_ZMMu32_MASKu32_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit. Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	FOR k := 0 to j-1
		m := k*32
		dst[i+k] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
	ENDFOR
	dst[i+31:i+j] := 0
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPCONFLICTD" xed="VPCONFLICTD_ZMMu32_MASKmskw_ZMMu32_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		FOR l := 0 to j-1
			m := l*32
			dst[i+l] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
		ENDFOR
		dst[i+31:i+j] := 0
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPCONFLICTD" xed="VPCONFLICTD_ZMMu32_MASKmskw_ZMMu32_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_conflict_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Test each 32-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		FOR l := 0 to j-1
			m := l*32
			dst[i+l] := (a[i+31:i] == a[m+31:m]) ? 1 : 0
		ENDFOR
		dst[i+31:i+j] := 0
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPCONFLICTD" xed="VPCONFLICTD_ZMMu32_MASKmskw_ZMMu32_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit. Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	FOR k := 0 to j-1
		m := k*64
		dst[i+k] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
	ENDFOR
	dst[i+63:i+j] := 0
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPCONFLICTQ" xed="VPCONFLICTQ_ZMMu64_MASKmskw_ZMMu64_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		FOR l := 0 to j-1
			m := l*64
			dst[i+l] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
		ENDFOR
		dst[i+63:i+j] := 0
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPCONFLICTQ" xed="VPCONFLICTQ_ZMMu64_MASKmskw_ZMMu64_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_conflict_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Test each 64-bit element of "a" for equality with all other elements in "a" closer to the least significant bit using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each element's comparison forms a zero extended bit vector in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		FOR l := 0 to j-1
			m := l*64
			dst[i+l] := (a[i+63:i] == a[m+63:m]) ? 1 : 0
		ENDFOR
		dst[i+63:i+j] := 0
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPCONFLICTQ" xed="VPCONFLICTQ_ZMMu64_MASKmskw_ZMMu64_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	tmp := 31
	dst[i+31:i] := 0
	DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
		tmp := tmp - 1
		dst[i+31:i] := dst[i+31:i] + 1
	OD
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPLZCNTD" xed="VPLZCNTD_ZMMu32_MASKmskw_ZMMu32_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp := 31
		dst[i+31:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+31:i] := dst[i+31:i] + 1
		OD
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPLZCNTD" xed="VPLZCNTD_ZMMu32_MASKmskw_ZMMu32_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_lzcnt_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 32-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp := 31
		dst[i+31:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+31:i] := dst[i+31:i] + 1
		OD
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPLZCNTD" xed="VPLZCNTD_ZMMu32_MASKmskw_ZMMu32_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	tmp := 63
	dst[i+63:i] := 0
	DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
		tmp := tmp - 1
		dst[i+63:i] := dst[i+63:i] + 1
	OD
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPLZCNTQ" xed="VPLZCNTQ_ZMMu64_MASKmskw_ZMMu64_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp := 63
		dst[i+63:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+63:i] := dst[i+63:i] + 1
		OD
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPLZCNTQ" xed="VPLZCNTQ_ZMMu64_MASKmskw_ZMMu64_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_lzcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Counts the number of leading zero bits in each packed 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp := 63
		dst[i+63:i] := 0
		DO WHILE (tmp &gt;= 0 AND a[i+tmp] == 0)
			tmp := tmp - 1
			dst[i+63:i] := dst[i+63:i] + 1
		OD
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPLZCNTQ" xed="VPLZCNTQ_ZMMu64_MASKmskw_ZMMu64_AVX512CD" />
	<CPUID>AVX512CD</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_mask_andnot_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VANDNPD" xed="VANDNPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_andnot_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VANDNPD" xed="VANDNPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_andnot_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VANDNPD" xed="VANDNPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_andnot_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VANDNPD" xed="VANDNPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_andnot_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VANDNPS" xed="VANDNPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_andnot_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VANDNPS" xed="VANDNPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_andnot_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VANDNPS" xed="VANDNPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_andnot_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VANDNPS" xed="VANDNPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_and_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VANDPD" xed="VANDPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_and_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
	ELSE
		dst[i+63:i] := 0 
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VANDPD" xed="VANDPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_and_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VANDPD" xed="VANDPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_and_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VANDPD" xed="VANDPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_and_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VANDPS" xed="VANDPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_and_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VANDPS" xed="VANDPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_and_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VANDPS" xed="VANDPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_and_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VANDPS" xed="VANDPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_or_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VORPD" xed="VORPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_or_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VORPD" xed="VORPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_or_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VORPD" xed="VORPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_or_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VORPD" xed="VORPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_or_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VORPS" xed="VORPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_or_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VORPS" xed="VORPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_or_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VORPS" xed="VORPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_or_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VORPS" xed="VORPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_xor_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VXORPD" xed="VXORPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_xor_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VXORPD" xed="VXORPD_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_xor_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VXORPD" xed="VXORPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_xor_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VXORPD" xed="VXORPD_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_xor_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VXORPS" xed="VXORPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_xor_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VXORPS" xed="VXORPS_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_xor_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VXORPS" xed="VXORPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_xor_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VXORPS" xed="VXORPS_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_f32x2" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the lower 2 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 2)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VBROADCASTF32X2" xed="VBROADCASTF32X2_YMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcast_f32x2" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the lower 2 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VBROADCASTF32X2" xed="VBROADCASTF32X2_YMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcast_f32x2" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the lower 2 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VBROADCASTF32X2" xed="VBROADCASTF32X2_YMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_f64x2" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the 2 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	n := (j % 2)*64
	dst[i+63:i] := a[n+63:n]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTF64X2" xed="VBROADCASTF64X2_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcast_f64x2" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the 2 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m128" name="VBROADCASTF64X2" xed="VBROADCASTF64X2_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcast_f64x2" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the 2 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m128" name="VBROADCASTF64X2" xed="VBROADCASTF64X2_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 2)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_YMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_YMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_YMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	n := (j % 2)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_i64x2" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the 2 packed 64-bit integers from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	n := (j % 2)*64
	dst[i+63:i] := a[n+63:n]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTI64X2" xed="VBROADCASTI64X2_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcast_i64x2" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the 2 packed 64-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m128" name="VBROADCASTI64X2" xed="VBROADCASTI64X2_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcast_i64x2" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the 2 packed 64-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m128" name="VBROADCASTI64X2" xed="VBROADCASTI64X2_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_extractf64x2_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTF64X2" xed="VEXTRACTF64X2_XMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_extractf64x2_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm, imm8" name="VEXTRACTF64X2" xed="VEXTRACTF64X2_XMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_extractf64x2_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm, imm8" name="VEXTRACTF64X2" xed="VEXTRACTF64X2_XMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_extracti64x2_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed 64-bit integers) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTI64X2" xed="VEXTRACTI64X2_XMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_extracti64x2_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed 64-bit integers) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm, imm8" name="VEXTRACTI64X2" xed="VEXTRACTI64X2_XMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_extracti64x2_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed 64-bit integers) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm, imm8" name="VEXTRACTI64X2" xed="VEXTRACTI64X2_XMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_fpclass_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed double-precision (64-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
	[fpclass_note]</description>
	<operation>FOR j := 0 to 3
	i := j*64
	k[j] := CheckFPClass_FP64(a[i+63:i], imm8[7:0])
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, imm8" name="VFPCLASSPD" xed="VFPCLASSPD_MASKmskw_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fpclass_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed double-precision (64-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
	[fpclass_note]</description>
	<operation>FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := CheckFPClass_FP64(a[i+63:i], imm8[7:0])
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, imm8" name="VFPCLASSPD" xed="VFPCLASSPD_MASKmskw_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fpclass_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed double-precision (64-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
	[fpclass_note]</description>
	<operation>FOR j := 0 to 1
	i := j*64
	k[j] := CheckFPClass_FP64(a[i+63:i], imm8[7:0])
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, imm8" name="VFPCLASSPD" xed="VFPCLASSPD_MASKmskw_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fpclass_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed double-precision (64-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
	[fpclass_note]</description>
	<operation>FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := CheckFPClass_FP64(a[i+63:i], imm8[7:0])
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, imm8" name="VFPCLASSPD" xed="VFPCLASSPD_MASKmskw_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_fpclass_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed single-precision (32-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
	[fpclass_note]</description>
	<operation>FOR j := 0 to 7
	i := j*32
	k[j] := CheckFPClass_FP32(a[i+31:i], imm8[7:0])
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, imm8" name="VFPCLASSPS" xed="VFPCLASSPS_MASKmskw_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fpclass_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed single-precision (32-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
	[fpclass_note]</description>
	<operation>FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := CheckFPClass_FP32(a[i+31:i], imm8[7:0])
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, imm8" name="VFPCLASSPS" xed="VFPCLASSPS_MASKmskw_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fpclass_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed single-precision (32-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
	[fpclass_note]</description>
	<operation>FOR j := 0 to 3
	i := j*32
	k[j] := CheckFPClass_FP32(a[i+31:i], imm8[7:0])
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, imm8" name="VFPCLASSPS" xed="VFPCLASSPS_MASKmskw_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fpclass_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed single-precision (32-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
	[fpclass_note]</description>
	<operation>FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := CheckFPClass_FP32(a[i+31:i], imm8[7:0])
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, imm8" name="VFPCLASSPS" xed="VFPCLASSPS_MASKmskw_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_insertf64x2" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE imm8[0] OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF64X2" xed="VINSERTF64X2_YMMf64_MASKmskw_YMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_insertf64x2" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm, imm8" name="VINSERTF64X2" xed="VINSERTF64X2_YMMf64_MASKmskw_YMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_insertf64x2" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm, imm8" name="VINSERTF64X2" xed="VINSERTF64X2_YMMf64_MASKmskw_YMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_inserti64x2" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 2 packed 64-bit integers) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE imm8[0] OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTI64X2" xed="VINSERTI64X2_YMMu64_MASKmskw_YMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_inserti64x2" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed 64-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm, imm8" name="VINSERTI64X2" xed="VINSERTI64X2_YMMu64_MASKmskw_YMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_inserti64x2" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed 64-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm, imm8" name="VINSERTI64X2" xed="VINSERTI64X2_YMMu64_MASKmskw_YMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movepi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 32-bit integer in "a".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF a[i+31]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm" name="VPMOVD2M" xed="VPMOVD2M_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movepi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 32-bit integer in "a".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF a[i+31]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm" name="VPMOVD2M" xed="VPMOVD2M_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movm_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Set each packed 32-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := 0xFFFFFFFF
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm" name="VPMOVM2D" xed="VPMOVM2D_YMMu32_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movm_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Set each packed 32-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := 0xFFFFFFFF
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm" name="VPMOVM2D" xed="VPMOVM2D_XMMu32_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movm_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Set each packed 64-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := 0xFFFFFFFFFFFFFFFF
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm" name="VPMOVM2Q" xed="VPMOVM2Q_YMMu64_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movm_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Set each packed 64-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := 0xFFFFFFFFFFFFFFFF
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm" name="VPMOVM2Q" xed="VPMOVM2Q_XMMu64_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_movepi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 64-bit integer in "a".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF a[i+63]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm" name="VPMOVQ2M" xed="VPMOVQ2M_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movepi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 64-bit integer in "a".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF a[i+63]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm" name="VPMOVQ2M" xed="VPMOVQ2M_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VRANGEPD" xed="VRANGEPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VRANGEPD" xed="VRANGEPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VRANGEPD" xed="VRANGEPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VRANGEPD" xed="VRANGEPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VRANGEPD" xed="VRANGEPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VRANGEPD" xed="VRANGEPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VRANGEPS" xed="VRANGEPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VRANGEPS" xed="VRANGEPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VRANGEPS" xed="VRANGEPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VRANGEPS" xed="VRANGEPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VRANGEPS" xed="VRANGEPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VRANGEPS" xed="VRANGEPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VREDUCEPD" xed="VREDUCEPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VREDUCEPD" xed="VREDUCEPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VREDUCEPD" xed="VREDUCEPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VREDUCEPD" xed="VREDUCEPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VREDUCEPD" xed="VREDUCEPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VREDUCEPD" xed="VREDUCEPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VREDUCEPS" xed="VREDUCEPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VREDUCEPS" xed="VREDUCEPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	RETURN tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VREDUCEPS" xed="VREDUCEPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VREDUCEPS" xed="VREDUCEPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VREDUCEPS" xed="VREDUCEPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VREDUCEPS" xed="VREDUCEPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTPD2QQ" xed="VCVTPD2QQ_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTPD2QQ" xed="VCVTPD2QQ_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTPD2QQ" xed="VCVTPD2QQ_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPD2QQ" xed="VCVTPD2QQ_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPD2QQ" xed="VCVTPD2QQ_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPD2QQ" xed="VCVTPD2QQ_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_YMMu64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_YMMu64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_YMMu64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_XMMu64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_XMMu64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_XMMu64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPS2QQ" xed="VCVTPS2QQ_YMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPS2QQ" xed="VCVTPS2QQ_YMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPS2QQ" xed="VCVTPS2QQ_YMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPS2QQ" xed="VCVTPS2QQ_XMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPS2QQ" xed="VCVTPS2QQ_XMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPS2QQ" xed="VCVTPS2QQ_XMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_YMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_YMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_YMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_XMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_XMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_XMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTQQ2PD" xed="VCVTQQ2PD_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTQQ2PD" xed="VCVTQQ2PD_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTQQ2PD" xed="VCVTQQ2PD_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTQQ2PD" xed="VCVTQQ2PD_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTQQ2PD" xed="VCVTQQ2PD_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTQQ2PD" xed="VCVTQQ2PD_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTQQ2PS" xed="VCVTQQ2PS_XMMf32_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTQQ2PS" xed="VCVTQQ2PS_XMMf32_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTQQ2PS" xed="VCVTQQ2PS_XMMf32_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTQQ2PS" xed="VCVTQQ2PS_XMMf32_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTQQ2PS" xed="VCVTQQ2PS_XMMf32_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTQQ2PS" xed="VCVTQQ2PS_XMMf32_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_YMMi64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_XMMi64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_YMMu64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_YMMu64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_YMMu64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_XMMu64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_XMMu64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_XMMu64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_YMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_YMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_YMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_XMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_XMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_XMMi64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_YMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_YMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_YMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_XMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_XMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_XMMu64_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_YMMf64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_YMMf64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_YMMf64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_XMMf64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_XMMf64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_XMMf64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_XMMf32_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_XMMf32_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_XMMf32_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_XMMf32_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_XMMf32_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_XMMf32_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := a[i+63:i] * b[i+63:i]
		dst[i+63:i] := tmp[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULLQ" xed="VPMULLQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := a[i+63:i] * b[i+63:i]
		dst[i+63:i] := tmp[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULLQ" xed="VPMULLQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := a[i+63:i] * b[i+63:i]
	dst[i+63:i] := tmp[63:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULLQ" xed="VPMULLQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := a[i+63:i] * b[i+63:i]
		dst[i+63:i] := tmp[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULLQ" xed="VPMULLQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := a[i+63:i] * b[i+63:i]
		dst[i+63:i] := tmp[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULLQ" xed="VPMULLQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := a[i+63:i] * b[i+63:i]
	dst[i+63:i] := tmp[63:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMULLQ" xed="VPMULLQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_andnot_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VANDNPD" xed="VANDNPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_andnot_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VANDNPD" xed="VANDNPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_andnot_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VANDNPD" xed="VANDNPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_andnot_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VANDNPS" xed="VANDNPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_andnot_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VANDNPS" xed="VANDNPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_andnot_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VANDNPS" xed="VANDNPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_and_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VANDPD" xed="VANDPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_and_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VANDPD" xed="VANDPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_and_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VANDPD" xed="VANDPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_and_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VANDPS" xed="VANDPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_and_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VANDPS" xed="VANDPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_and_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VANDPS" xed="VANDPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_or_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VORPD" xed="VORPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_or_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VORPD" xed="VORPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_or_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] OR b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VORPD" xed="VORPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_or_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VORPS" xed="VORPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_or_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VORPS" xed="VORPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_or_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] OR b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VORPS" xed="VORPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_xor_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VXORPD" xed="VXORPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_xor_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VXORPD" xed="VXORPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_xor_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VXORPD" xed="VXORPD_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_xor_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VXORPS" xed="VXORPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_xor_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VXORPS" xed="VXORPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_xor_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VXORPS" xed="VXORPS_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_f32x2" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the lower 2 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 2)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VBROADCASTF32X2" xed="VBROADCASTF32X2_ZMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_f32x2" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the lower 2 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VBROADCASTF32X2" xed="VBROADCASTF32X2_ZMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_f32x2" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the lower 2 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VBROADCASTF32X2" xed="VBROADCASTF32X2_ZMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_f32x8" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Broadcast the 8 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 8)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m256" name="VBROADCASTF32X8" xed="VBROADCASTF32X8_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_f32x8" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Broadcast the 8 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 8)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m256" name="VBROADCASTF32X8" xed="VBROADCASTF32X8_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_f32x8" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Broadcast the 8 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 8)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m256" name="VBROADCASTF32X8" xed="VBROADCASTF32X8_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_f64x2" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the 2 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 2)*64
	dst[i+63:i] := a[n+63:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m128" name="VBROADCASTF64X2" xed="VBROADCASTF64X2_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_f64x2" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the 2 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m128" name="VBROADCASTF64X2" xed="VBROADCASTF64X2_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_f64x2" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the 2 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m128" name="VBROADCASTF64X2" xed="VBROADCASTF64X2_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 2)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_ZMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_ZMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_i32x2" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the lower 2 packed 32-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 2)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VBROADCASTI32X2" xed="VBROADCASTI32X2_ZMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_i32x8" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Broadcast the 8 packed 32-bit integers from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 8)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m256" name="VBROADCASTI32X8" xed="VBROADCASTI32X8_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_i32x8" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Broadcast the 8 packed 32-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 8)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m256" name="VBROADCASTI32X8" xed="VBROADCASTI32X8_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_i32x8" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Broadcast the 8 packed 32-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 8)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m256" name="VBROADCASTI32X8" xed="VBROADCASTI32X8_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_i64x2" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the 2 packed 64-bit integers from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 2)*64
	dst[i+63:i] := a[n+63:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m128" name="VBROADCASTI64X2" xed="VBROADCASTI64X2_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_i64x2" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the 2 packed 64-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m128" name="VBROADCASTI64X2" xed="VBROADCASTI64X2_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_i64x2" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the 2 packed 64-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 2)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m128" name="VBROADCASTI64X2" xed="VBROADCASTI64X2_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_extractf32x8_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[255:0] := a[255:0]
1: dst[255:0] := a[511:256]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm, imm8" name="VEXTRACTF32X8" xed="VEXTRACTF32X8_YMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extractf32x8_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm, imm8" name="VEXTRACTF32X8" xed="VEXTRACTF32X8_YMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extractf32x8_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm, imm8" name="VEXTRACTF32X8" xed="VEXTRACTF32X8_YMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_extractf64x2_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[1:0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
2: dst[127:0] := a[383:256]
3: dst[127:0] := a[511:384]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm, imm8" name="VEXTRACTF64X2" xed="VEXTRACTF64X2_XMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extractf64x2_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm, imm8" name="VEXTRACTF64X2" xed="VEXTRACTF64X2_XMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extractf64x2_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm, imm8" name="VEXTRACTF64X2" xed="VEXTRACTF64X2_XMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_extracti32x8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 8 packed 32-bit integers) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[255:0] := a[255:0]
1: dst[255:0] := a[511:256]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm, imm8" name="VEXTRACTI32X8" xed="VEXTRACTI32X8_YMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extracti32x8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 8 packed 32-bit integers) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm, imm8" name="VEXTRACTI32X8" xed="VEXTRACTI32X8_YMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extracti32x8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 8 packed 32-bit integers) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm, imm8" name="VEXTRACTI32X8" xed="VEXTRACTI32X8_YMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_extracti64x2_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed 64-bit integers) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[1:0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
2: dst[127:0] := a[383:256]
3: dst[127:0] := a[511:384]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm, imm8" name="VEXTRACTI64X2" xed="VEXTRACTI64X2_XMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extracti64x2_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed 64-bit integers) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm, imm8" name="VEXTRACTI64X2" xed="VEXTRACTI64X2_XMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extracti64x2_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 2 packed 64-bit integers) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm, imm8" name="VEXTRACTI64X2" xed="VEXTRACTI64X2_XMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_fpclass_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed double-precision (64-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
	[fpclass_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	k[j] := CheckFPClass_FP64(a[i+63:i], imm8[7:0])
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, imm8" name="VFPCLASSPD" xed="VFPCLASSPD_MASKmskw_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fpclass_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed double-precision (64-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
	[fpclass_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := CheckFPClass_FP64(a[i+63:i], imm8[7:0])
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, imm8" name="VFPCLASSPD" xed="VFPCLASSPD_MASKmskw_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_fpclass_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed single-precision (32-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
	[fpclass_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	k[j] := CheckFPClass_FP32(a[i+31:i], imm8[7:0])
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, imm8" name="VFPCLASSPS" xed="VFPCLASSPS_MASKmskw_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fpclass_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed single-precision (32-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
	[fpclass_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := CheckFPClass_FP32(a[i+31:i], imm8[7:0])
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, imm8" name="VFPCLASSPS" xed="VFPCLASSPS_MASKmskw_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fpclass_sd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test the lower double-precision (64-bit) floating-point element in "a" for special categories specified by "imm8", and store the result in mask vector "k".
	[fpclass_note]</description>
	<operation>k[0] := CheckFPClass_FP64(a[63:0], imm8[7:0])
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, imm8" name="VFPCLASSSD" xed="VFPCLASSSD_MASKmskw_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fpclass_sd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test the lower double-precision (64-bit) floating-point element in "a" for special categories specified by "imm8", and store the result in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set).
	[fpclass_note]</description>
	<operation>IF k1[0]
	k[0] := CheckFPClass_FP64(a[63:0], imm8[7:0])
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, imm8" name="VFPCLASSSD" xed="VFPCLASSSD_MASKmskw_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fpclass_ss_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test the lower single-precision (32-bit) floating-point element in "a" for special categories specified by "imm8", and store the result in mask vector "k.
	[fpclass_note]</description>
	<operation>k[0] := CheckFPClass_FP32(a[31:0], imm8[7:0])
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, imm8" name="VFPCLASSSS" xed="VFPCLASSSS_MASKmskw_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fpclass_ss_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test the lower single-precision (32-bit) floating-point element in "a" for special categories specified by "imm8", and store the result in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set).
	[fpclass_note]</description>
	<operation>IF k1[0]
	k[0] := CheckFPClass_FP32(a[31:0], imm8[7:0])
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, imm8" name="VFPCLASSSS" xed="VFPCLASSSS_MASKmskw_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_insertf32x8" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 256 bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE (imm8[0]) OF
0: dst[255:0] := b[255:0]
1: dst[511:256] := b[255:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, ymm, imm8" name="VINSERTF32X8" xed="VINSERTF32X8_ZMMf32_MASKmskw_ZMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_insertf32x8" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, ymm, imm8" name="VINSERTF32X8" xed="VINSERTF32X8_ZMMf32_MASKmskw_ZMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_insertf32x8" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 8 packed single-precision (32-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, ymm, imm8" name="VINSERTF32X8" xed="VINSERTF32X8_ZMMf32_MASKmskw_ZMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_insertf64x2" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE imm8[1:0] OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
2: dst[383:256] := b[127:0]
3: dst[511:384] := b[127:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm, imm8" name="VINSERTF64X2" xed="VINSERTF64X2_ZMMf64_MASKmskw_ZMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_insertf64x2" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm, imm8" name="VINSERTF64X2" xed="VINSERTF64X2_ZMMf64_MASKmskw_ZMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_insertf64x2" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm, imm8" name="VINSERTF64X2" xed="VINSERTF64X2_ZMMf64_MASKmskw_ZMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_inserti32x8" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 256 bits (composed of 8 packed 32-bit integers) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE imm8[0] OF
0: dst[255:0] := b[255:0]
1: dst[511:256] := b[255:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, ymm, imm8" name="VINSERTI32X8" xed="VINSERTI32X8_ZMMu32_MASKmskw_ZMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_inserti32x8" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 8 packed 32-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, ymm, imm8" name="VINSERTI32X8" xed="VINSERTI32X8_ZMMu32_MASKmskw_ZMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_inserti32x8" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 8 packed 32-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, ymm, imm8" name="VINSERTI32X8" xed="VINSERTI32X8_ZMMu32_MASKmskw_ZMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_inserti64x2" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 2 packed 64-bit integers) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE imm8[1:0] OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
2: dst[383:256] := b[127:0]
3: dst[511:384] := b[127:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm, imm8" name="VINSERTI64X2" xed="VINSERTI64X2_ZMMu64_MASKmskw_ZMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_inserti64x2" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed 64-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm, imm8" name="VINSERTI64X2" xed="VINSERTI64X2_ZMMu64_MASKmskw_ZMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_inserti64x2" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 2 packed 64-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm, imm8" name="VINSERTI64X2" xed="VINSERTI64X2_ZMMu64_MASKmskw_ZMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movepi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 32-bit integer in "a".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF a[i+31]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm" name="VPMOVD2M" xed="VPMOVD2M_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movm_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Set each packed 32-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := 0xFFFFFFFF
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm" name="VPMOVM2D" xed="VPMOVM2D_ZMMu32_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movm_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Set each packed 64-bit integer in "dst" to all ones or all zeros based on the value of the corresponding bit in "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := 0xFFFFFFFFFFFFFFFF
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm" name="VPMOVM2Q" xed="VPMOVM2Q_ZMMu64_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_movepi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Set each bit of mask register "k" based on the most significant bit of the corresponding packed 64-bit integer in "a".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF a[i+63]
		k[j] := 1
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm" name="VPMOVQ2M" xed="VPMOVQ2M_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VRANGEPD" xed="VRANGEPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_range_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}, imm8" name="VRANGEPD" xed="VRANGEPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VRANGEPD" xed="VRANGEPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_range_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}, imm8" name="VRANGEPD" xed="VRANGEPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_range_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VRANGEPD" xed="VRANGEPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_range_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := RANGE(a[i+63:i], b[i+63:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}, imm8" name="VRANGEPD" xed="VRANGEPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VRANGEPS" xed="VRANGEPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_range_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}, imm8" name="VRANGEPS" xed="VRANGEPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VRANGEPS" xed="VRANGEPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_range_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}, imm8" name="VRANGEPS" xed="VRANGEPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_range_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VRANGEPS" xed="VRANGEPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_range_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[63:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := RANGE(a[i+31:i], b[i+31:i], imm8[1:0], imm8[3:2])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}, imm8" name="VRANGEPS" xed="VRANGEPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_range_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[63:0] := RANGE(a[63:0], b[63:0], imm8[1:0], imm8[3:2])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}, imm8" name="VRANGESD" xed="VRANGESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_range_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[63:0] := RANGE(a[63:0], b[63:0], imm8[1:0], imm8[3:2])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VRANGESD" xed="VRANGESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_range_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[63:0] := RANGE(a[63:0], b[63:0], imm8[1:0], imm8[3:2])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}, imm8" name="VRANGESD" xed="VRANGESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_range_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[63:0] := RANGE(a[63:0], b[63:0], imm8[1:0], imm8[3:2])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VRANGESD" xed="VRANGESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_range_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[63:0], src2[63:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src1[63:0] : src2[63:0]
	1: tmp[63:0] := (src1[63:0] &lt;= src2[63:0]) ? src2[63:0] : src1[63:0]
	2: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src1[63:0] : src2[63:0]
	3: tmp[63:0] := (ABS(src1[63:0]) &lt;= ABS(src2[63:0])) ? src2[63:0] : src1[63:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[63:0] := (src1[63] &lt;&lt; 63) OR (tmp[62:0])
	1: dst[63:0] := tmp[63:0]
	2: dst[63:0] := (0 &lt;&lt; 63) OR (tmp[62:0])
	3: dst[63:0] := (1 &lt;&lt; 63) OR (tmp[62:0])
	ESAC
	
	RETURN dst
}
dst[63:0] := RANGE(a[63:0], b[63:0], imm8[1:0], imm8[3:2])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}, imm8" name="VRANGESD" xed="VRANGESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_range_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[31:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[31:0] := RANGE(a[31:0], b[31:0], imm8[1:0], imm8[3:2])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}, imm8" name="VRANGESS" xed="VRANGESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_range_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[31:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[31:0] := RANGE(a[31:0], b[31:0], imm8[1:0], imm8[3:2])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VRANGESS" xed="VRANGESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_range_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[31:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[31:0] := RANGE(a[31:0], b[31:0], imm8[1:0], imm8[3:2])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}, imm8" name="VRANGESS" xed="VRANGESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_range_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit.</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[31:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
IF k[0]
	dst[31:0] := RANGE(a[31:0], b[31:0], imm8[1:0], imm8[3:2])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VRANGESS" xed="VRANGESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_range_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Calculate the max, min, absolute max, or absolute min (depending on control in "imm8") for the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	imm8[1:0] specifies the operation control: 00 = min, 01 = max, 10 = absolute min, 11 = absolute max.
	imm8[3:2] specifies the sign control: 00 = sign from a, 01 = sign from compare result, 10 = clear sign bit, 11 = set sign bit. [sae_note]</description>
	<operation>
DEFINE RANGE(src1[31:0], src2[31:0], opCtl[1:0], signSelCtl[1:0]) {
	CASE opCtl[1:0] OF
	0: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src1[31:0] : src2[31:0]
	1: tmp[31:0] := (src1[31:0] &lt;= src2[31:0]) ? src2[31:0] : src1[31:0]
	2: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src1[31:0] : src2[31:0]
	3: tmp[31:0] := (ABS(src1[31:0]) &lt;= ABS(src2[31:0])) ? src2[31:0] : src1[31:0]
	ESAC
	
	CASE signSelCtl[1:0] OF
	0: dst[31:0] := (src1[31] &lt;&lt; 31) OR (tmp[30:0])
	1: dst[31:0] := tmp[31:0]
	2: dst[31:0] := (0 &lt;&lt; 31) OR (tmp[30:0])
	3: dst[31:0] := (1 &lt;&lt; 31) OR (tmp[30:0])
	ESAC
	
	RETURN dst
}
dst[31:0] := RANGE(a[31:0], b[31:0], imm8[1:0], imm8[3:2])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}, imm8" name="VRANGESS" xed="VRANGESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VREDUCEPD" xed="VREDUCEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}, imm8" name="VREDUCEPD" xed="VREDUCEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VREDUCEPD" xed="VREDUCEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_reduce_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}, imm8" name="VREDUCEPD" xed="VREDUCEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VREDUCEPD" xed="VREDUCEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of packed double-precision (64-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ReduceArgumentPD(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}, imm8" name="VREDUCEPD" xed="VREDUCEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VREDUCEPS" xed="VREDUCEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}, imm8" name="VREDUCEPS" xed="VREDUCEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VREDUCEPS" xed="VREDUCEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_reduce_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}, imm8" name="VREDUCEPS" xed="VREDUCEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VREDUCEPS" xed="VREDUCEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of packed single-precision (32-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ReduceArgumentPS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}, imm8" name="VREDUCEPS" xed="VREDUCEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower double-precision (64-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := ReduceArgumentPD(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VREDUCESD" xed="VREDUCESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of the lower double-precision (64-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := ReduceArgumentPD(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}, imm8" name="VREDUCESD" xed="VREDUCESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower double-precision (64-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := ReduceArgumentPD(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VREDUCESD" xed="VREDUCESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of the lower double-precision (64-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := ReduceArgumentPD(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}, imm8" name="VREDUCESD" xed="VREDUCESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower double-precision (64-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
dst[63:0] := ReduceArgumentPD(b[63:0], imm8[7:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VREDUCESD" xed="VREDUCESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of the lower double-precision (64-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPD(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	tmp[63:0] := src1[63:0] - tmp[63:0]
	IF IsInf(tmp[63:0])
		tmp[63:0] := FP64(0.0)
	FI
	RETURN tmp[63:0]
}
dst[63:0] := ReduceArgumentPD(b[63:0], imm8[7:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}, imm8" name="VREDUCESD" xed="VREDUCESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower single-precision (32-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := ReduceArgumentPS(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VREDUCESS" xed="VREDUCESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of the lower single-precision (32-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := ReduceArgumentPS(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}, imm8" name="VREDUCESS" xed="VREDUCESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower single-precision (32-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := ReduceArgumentPS(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VREDUCESS" xed="VREDUCESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of the lower single-precision (32-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := ReduceArgumentPS(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}, imm8" name="VREDUCESS" xed="VREDUCESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower single-precision (32-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
dst[31:0] := ReduceArgumentPS(b[31:0], imm8[7:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VREDUCESS" xed="VREDUCESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Extract the reduced argument of the lower single-precision (32-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentPS(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	tmp[31:0] := src1[31:0] - tmp[31:0]
	IF IsInf(tmp[31:0])
		tmp[31:0] := FP32(0.0)
	FI
	RETURN tmp[31:0]
}
dst[31:0] := ReduceArgumentPS(b[31:0], imm8[7:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}, imm8" name="VREDUCESS" xed="VREDUCESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTPD2QQ" xed="VCVTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPD2QQ" xed="VCVTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTPD2QQ" xed="VCVTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPD2QQ" xed="VCVTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTPD2QQ" xed="VCVTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTPD2QQ" xed="VCVTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTPD2UQQ" xed="VCVTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {er}" name="VCVTPS2QQ" xed="VCVTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTPS2QQ" xed="VCVTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	 [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {er}" name="VCVTPS2QQ" xed="VCVTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTPS2QQ" xed="VCVTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {er}" name="VCVTPS2QQ" xed="VCVTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTPS2QQ" xed="VCVTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {er}" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {er}" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {er}" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTPS2UQQ" xed="VCVTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTQQ2PD" xed="VCVTQQ2PD_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTQQ2PD" xed="VCVTQQ2PD_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTQQ2PD" xed="VCVTQQ2PD_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTQQ2PD" xed="VCVTQQ2PD_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTQQ2PD" xed="VCVTQQ2PD_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTQQ2PD" xed="VCVTQQ2PD_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTQQ2PS" xed="VCVTQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTQQ2PS" xed="VCVTQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTQQ2PS" xed="VCVTQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTQQ2PS" xed="VCVTQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTQQ2PS" xed="VCVTQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTQQ2PS" xed="VCVTQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttpd_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_Int64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTTPD2QQ" xed="VCVTTPD2QQ_ZMMi64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttpd_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_FP64_To_UInt64_Truncate(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTTPD2UQQ" xed="VCVTTPD2UQQ_ZMMu64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {sae}" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {sae}" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {sae}" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttps_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_Int64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTTPS2QQ" xed="VCVTTPS2QQ_ZMMi64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {sae}" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {sae}" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {sae}" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttps_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_UInt64_Truncate(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTTPS2UQQ" xed="VCVTTPS2UQQ_ZMMu64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_ZMMf64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_ZMMf64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_ZMMf64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_ZMMf64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_ZMMf64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu64_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTUQQ2PD" xed="VCVTUQQ2PD_ZMMf64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu64_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_Int64_To_FP32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTUQQ2PS" xed="VCVTUQQ2PS_YMMf32_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := a[i+63:i] * b[i+63:i]
		dst[i+63:i] := tmp[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULLQ" xed="VPMULLQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := a[i+63:i] * b[i+63:i]
		dst[i+63:i] := tmp[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULLQ" xed="VPMULLQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mullo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Multiply the packed 64-bit integers in "a" and "b", producing intermediate 128-bit integers, and store the low 64 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	tmp[127:0] := a[i+63:i] * b[i+63:i]
	dst[i+63:i] := tmp[63:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULLQ" xed="VPMULLQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_kadd_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Add 8-bit masks in "a" and "b", and store the result in "k".</description>
	<operation>
k[7:0] := a[7:0] + b[7:0]
k[MAX:8] := 0
	</operation>
	<instruction form="k, k, k" name="KADDB" xed="KADDB_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kadd_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Add 16-bit masks in "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := a[15:0] + b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KADDW" xed="KADDW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kand_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise AND of 8-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[7:0] := a[7:0] AND b[7:0]
k[MAX:8] := 0
	</operation>
	<instruction form="k, k, k" name="KANDB" xed="KANDB_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kandn_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise NOT of 8-bit masks "a" and then AND with "b", and store the result in "k".</description>
	<operation>
k[7:0] := (NOT a[7:0]) AND b[7:0]
k[MAX:8] := 0
	</operation>
	<instruction form="k, k, k" name="KANDNB" xed="KANDNB_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_knot_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<description>Compute the bitwise NOT of 8-bit mask "a", and store the result in "k".</description>
	<operation>
k[7:0] := NOT a[7:0]
k[MAX:8] := 0
	</operation>
	<instruction form="k, k" name="KNOTB" xed="KNOTB_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kor_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise OR of 8-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[7:0] := a[7:0] OR b[7:0]
k[MAX:8] := 0
	</operation>
	<instruction form="k, k, k" name="KORB" xed="KORB_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxnor_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise XNOR of 8-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[7:0] := NOT (a[7:0] XOR b[7:0])
k[MAX:8] := 0
	</operation>
	<instruction form="k, k, k" name="KXNORB" xed="KXNORB_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxor_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise XOR of 8-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[7:0] := a[7:0] XOR b[7:0]
k[MAX:8] := 0
	</operation>
	<instruction form="k, k, k" name="KXORB" xed="KXORB_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftli_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 8-bit mask "a" left by "count" while shifting in zeros, and store the least significant 8 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 7
	k[7:0] := a[7:0] &lt;&lt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTLB" xed="KSHIFTLB_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftri_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 8-bit mask "a" right by "count" while shifting in zeros, and store the least significant 8 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 7
	k[7:0] := a[7:0] &gt;&gt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTRB" xed="KSHIFTRB_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortest_mask8_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="all_ones" />
	<description>Compute the bitwise OR of 8-bit masks "a" and "b". If the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". If the result is all ones, store 1 in "all_ones", otherwise store 0 in "all_ones".</description>
	<operation>
tmp[7:0] := a[7:0] OR b[7:0]
IF tmp[7:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
IF tmp[7:0] == 0xFF
	MEM[all_ones+7:all_ones] := 1
ELSE
	MEM[all_ones+7:all_ones] := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTB" xed="KORTESTB_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestz_mask8_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise OR of 8-bit masks "a" and "b". If the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[7:0] := a[7:0] OR b[7:0]
IF tmp[7:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTB" xed="KORTESTB_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestc_mask8_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise OR of 8-bit masks "a" and "b". If the result is all ones, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[7:0] := a[7:0] OR b[7:0]
IF tmp[7:0] == 0xFF
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTB" xed="KORTESTB_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktest_mask8_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="and_not" />
	<description>Compute the bitwise AND of 8-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". Compute the bitwise NOT of "a" and then AND with "b", if the result is all zeros, store 1 in "and_not", otherwise store 0 in "and_not".</description>
	<operation>
tmp1[7:0] := a[7:0] AND b[7:0]
IF tmp1[7:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
tmp2[7:0] := (NOT a[7:0]) AND b[7:0]
IF tmp2[7:0] == 0x0
	MEM[and_not+7:and_not] := 1
ELSE
	MEM[and_not+7:and_not] := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTB" xed="KTESTB_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestz_mask8_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise AND of 8-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[7:0] := a[7:0] AND b[7:0]
IF tmp[7:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTB" xed="KTESTB_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestc_mask8_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="b" />
	<description>Compute the bitwise NOT of 8-bit mask "a" and then AND with "b", if the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[7:0] := (NOT a[7:0]) AND b[7:0]
IF tmp[7:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTB" xed="KTESTB_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktest_mask16_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="and_not" />
	<description>Compute the bitwise AND of 16-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". Compute the bitwise NOT of "a" and then AND with "b", if the result is all zeros, store 1 in "and_not", otherwise store 0 in "and_not".</description>
	<operation>
tmp1[15:0] := a[15:0] AND b[15:0]
IF tmp1[15:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
tmp2[15:0] := (NOT a[15:0]) AND b[15:0]
IF tmp2[15:0] == 0x0
	MEM[and_not+7:and_not] := 1
ELSE
	MEM[and_not+7:and_not] := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTW" xed="KTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestz_mask16_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise AND of 16-bit masks "a" and "b", and if the result is all zeros, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[15:0] := a[15:0] AND b[15:0]
IF tmp[15:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTW" xed="KTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_ktestc_mask16_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise NOT of 16-bit mask "a" and then AND with "b", if the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[15:0] := (NOT a[15:0]) AND b[15:0]
IF tmp[15:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KTESTW" xed="KTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtmask8_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<description>Convert 8-bit mask "a" into an integer value, and store the result in "dst".</description>
	<operation>
dst := ZeroExtend32(a[7:0])
	</operation>
	<instruction form="r32, k" name="KMOVB" xed="KMOVB_GPR32u32_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtu32_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="unsigned int" varname="a" />
	<description>Convert integer value "a" into an 8-bit mask, and store the result in "k".</description>
	<operation>
k := a[7:0]
	</operation>
	<instruction form="k, r32" name="KMOVB" xed="KMOVB_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_load_mask8" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="mem_addr" />
	<description>Load 8-bit mask from memory into "k".</description>
	<operation>
k[7:0] := MEM[mem_addr+7:mem_addr]
	</operation>
	<instruction form="k, m8" name="KMOVB" xed="KMOVB_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_store_mask8" tech="AVX-512">
	<return type="void" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="a" />
	<description>Store 8-bit mask from "a" into memory.</description>
	<operation>
MEM[mem_addr+7:mem_addr] := a[7:0]
	</operation>
	<instruction form="m8, k" name="KMOVB" xed="KMOVB_MEMu8_MASKmskw_AVX512" />
	<CPUID>AVX512DQ</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_acos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ACOS(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_acos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ACOS(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_acos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ACOS(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_acos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ACOS(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_acosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ACOSH(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_acosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ACOSH(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_acosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ACOSH(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_acosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ACOSH(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_asin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ASIN(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_asin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ASIN(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_asin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ASIN(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_asin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ASIN(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_asinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ASINH(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_asinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ASINH(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_asinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ASINH(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_asinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ASINH(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_atan2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ATAN2(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_atan2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ATAN2(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_atan2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ATAN2(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_atan2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ATAN2(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_atan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a" and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ATAN(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_atan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" expressed in radians using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ATAN(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_atan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ATAN(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_atan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ATAN(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_atanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a" and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ATANH(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_atanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" expressed in radians using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ATANH(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_atanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse hyperblic tangent of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ATANH(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_atanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse hyperbolic tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ATANH(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_cos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := COS(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := COS(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_cos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := COS(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := COS(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_cosd_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := COSD(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cosd_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := COSD(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_cosd_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := COSD(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cosd_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := COSD(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_cosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := COSH(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := COSH(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_cosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := COSH(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := COSH(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SIN(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SIN(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SIN(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SIN(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SINH(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SINH(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SINH(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SINH(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sind_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SIND(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sind_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SIND(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sind_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SIND(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sind_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SIND(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_tan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := TAN(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_tan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := TAN(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_tan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := TAN(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_tan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := TAN(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_tand_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := TAND(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_tand_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := TAND(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_tand_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := TAND(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_tand_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := TAND(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_tanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := TANH(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_tanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := TANH(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_tanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the hyperbolic tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := TANH(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_tanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the hyperbolic tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := TANH(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sincos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" memwidth="512" type="__m512d *" varname="mem_addr" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the sine and cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SIN(a[i+63:i])
	MEM[mem_addr+i+63:mem_addr+i] := COS(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sincos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" memwidth="512" type="__m512d *" varname="mem_addr" />
	<parameter etype="FP64" type="__m512d" varname="sin_src" />
	<parameter etype="FP64" type="__m512d" varname="cos_src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the sine and cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", store the cosine into memory at "mem_addr". Elements are written to their respective locations using writemask "k" (elements are copied from "sin_src" or "cos_src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SIN(a[i+63:i])
		MEM[mem_addr+i+63:mem_addr+i] := COS(a[i+63:i])
	ELSE
		dst[i+63:i] := sin_src[i+63:i]
		MEM[mem_addr+i+63:mem_addr+i] := cos_src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_sincos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" memwidth="512" type="__m512 *" varname="mem_addr" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the sine and cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SIN(a[i+31:i])
	MEM[mem_addr+i+31:mem_addr+i] := COS(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sincos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" memwidth="512" type="__m512 *" varname="mem_addr" />
	<parameter etype="FP32" type="__m512" varname="sin_src" />
	<parameter etype="FP32" type="__m512" varname="cos_src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the sine and cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", store the cosine into memory at "mem_addr". Elements are written to their respective locations using writemask "k" (elements are copied from "sin_src" or "cos_src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SIN(a[i+31:i])
		MEM[mem_addr+i+31:mem_addr+i] := COS(a[i+31:i])
	ELSE
		dst[i+31:i] := sin_src[i+31:i]
		MEM[mem_addr+i+31:mem_addr+i] := cos_src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm512_cbrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cube root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := CubeRoot(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cbrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cube root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := CubeRoot(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_cbrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cube root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := CubeRoot(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cbrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cube root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := CubeRoot(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_exp10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := POW(10.0, a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_exp10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := POW(10.0, a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_exp10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := POW(FP32(10.0), a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_exp10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := POW(FP32(10.0), a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_exp2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := POW(2.0, a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_exp2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := POW(2.0, a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_exp2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := POW(FP32(2.0), a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_exp2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := POW(FP32(2.0), a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_exp_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := POW(e, a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_exp_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := POW(e, a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_exp_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := POW(FP32(e), a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_exp_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := POW(FP32(e), a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_expm1_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := POW(e, a[i+63:i]) - 1.0
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expm1_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := POW(e, a[i+63:i]) - 1.0
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_expm1_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := POW(FP32(e), a[i+31:i]) - 1.0
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expm1_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := POW(FP32(e), a[i+31:i]) - 1.0
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_hypot_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SQRT(POW(a[i+63:i], 2.0) + POW(b[i+63:i], 2.0))
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_hypot_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(POW(a[i+63:i], 2.0) + POW(b[i+63:i], 2.0))
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_hypot_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SQRT(POW(a[i+31:i], 2.0) + POW(b[i+31:i], 2.0))
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_hypot_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(POW(a[i+31:i], 2.0) + POW(b[i+31:i], 2.0))
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_invsqrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := InvSQRT(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_invsqrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := InvSQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_invsqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := InvSQRT(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_invsqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := InvSQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_log10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the base-10 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i]) / LOG(10.0)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the base-10 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LOG(a[i+63:i]) / LOG(10.0)
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_log10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the base-10 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i]) / LOG(10.0)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the base-10 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LOG(a[i+31:i]) / LOG(10.0)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_log1p_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the natural logarithm of one plus packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := LOG(1.0 + a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log1p_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the natural logarithm of one plus packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LOG(1.0 + a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_log1p_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the natural logarithm of one plus packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := LOG(1.0 + a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log1p_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the natural logarithm of one plus packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LOG(1.0 + a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_log2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the base-2 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i]) / LOG(2.0)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the base-2 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LOG(a[i+63:i]) / LOG(2.0)
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_log_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the natural logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the natural logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LOG(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_log_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the natural logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the natural logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LOG(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_logb_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ConvertExpFP64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_logb_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_logb_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ConvertExpFP32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_logb_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_pow_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the exponential value of packed double-precision (64-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := POW(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_pow_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compute the exponential value of packed double-precision (64-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := POW(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_pow_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the exponential value of packed single-precision (32-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := POW(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_pow_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compute the exponential value of packed single-precision (32-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := POW(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_recip_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Computes the reciprocal of packed double-precision (64-bit) floating-point elements in "a", storing the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (1.0 / a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_recip_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Computes the reciprocal of packed double-precision (64-bit) floating-point elements in "a", storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_recip_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Computes the reciprocal of packed single-precision (32-bit) floating-point elements in "a", storing the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (1.0 / a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_recip_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Computes the reciprocal of packed single-precision (32-bit) floating-point elements in "a", storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_cdfnorm_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := CDFNormal(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cdfnorm_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := CDFNormal(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_cdfnorm_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := CDFNormal(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cdfnorm_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := CDFNormal(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_cdfnorminv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := InverseCDFNormal(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cdfnorminv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := InverseCDFNormal(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_cdfnorminv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := InverseCDFNormal(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cdfnorminv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := InverseCDFNormal(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erf_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ERF(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erf_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ERF(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erfc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := 1.0 - ERF(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erfc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := 1.0 - ERF(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erf_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ERF(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erf_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ERF(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erfc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+63:i] := 1.0 - ERF(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erfc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+63:i] := 1.0 - ERF(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erfinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := 1.0 / ERF(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erfinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := 1.0 / ERF(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erfinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+63:i] := 1.0 / ERF(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erfinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+63:i] := 1.0 / ERF(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erfcinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+63:i]))
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erfcinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the inverse complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+63:i]))
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_erfcinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+31:i]))
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_erfcinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the inverse complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+31:i]))
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm512_ceil_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" up to an integer value, and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := CEIL(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_ceil_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" up to an integer value, and store the results as packed double-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := CEIL(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_ceil_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" up to an integer value, and store the results as packed single-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := CEIL(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_ceil_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" up to an integer value, and store the results as packed single-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := CEIL(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_floor_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" down to an integer value, and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := FLOOR(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_floor_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" down to an integer value, and store the results as packed double-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := FLOOR(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_floor_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" down to an integer value, and store the results as packed single-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := FLOOR(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_floor_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" down to an integer value, and store the results as packed single-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := FLOOR(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_nearbyint_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Rounds each packed double-precision (64-bit) floating-point element in "a" to the nearest integer value and stores the results as packed double-precision floating-point elements in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := NearbyInt(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_nearbyint_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Rounds each packed double-precision (64-bit) floating-point element in "a" to the nearest integer value and stores the results as packed double-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := NearbyInt(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_nearbyint_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Rounds each packed single-precision (32-bit) floating-point element in "a" to the nearest integer value and stores the results as packed single-precision floating-point elements in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := NearbyInt(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_nearbyint_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Rounds each packed single-precision (32-bit) floating-point element in "a" to the nearest integer value and stores the results as packed single-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := NearbyInt(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_rint_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Rounds the packed double-precision (64-bit) floating-point elements in "a" to the nearest even integer value and stores the results in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := RoundToNearestEven(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rint_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Rounds the packed double-precision (64-bit) floating-point elements in "a" to the nearest even integer value and stores the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundToNearestEven(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_rint_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Rounds the packed single-precision (32-bit) floating-point elements in "a" to the nearest even integer value and stores the results in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := RoundToNearestEven(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rint_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Rounds the packed single-precision (32-bit) floating-point elements in "a" to the nearest even integer value and stores the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundToNearestEven(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_svml_round_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ROUND(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_svml_round_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed double-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ROUND(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i] 
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_trunc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Truncate the packed double-precision (64-bit) floating-point elements in "a", and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := TRUNCATE(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_trunc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Truncate the packed double-precision (64-bit) floating-point elements in "a", and store the results as packed double-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := TRUNCATE(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_trunc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Truncate the packed single-precision (32-bit) floating-point elements in "a", and store the results as packed single-precision floating-point elements in "dst".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := TRUNCATE(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_trunc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Truncate the packed single-precision (32-bit) floating-point elements in "a", and store the results as packed single-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := TRUNCATE(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Divide packed signed 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF b[i+31:i] == 0
		#DE
	FI
	dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Divide packed signed 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		IF b[i+31:i] == 0
			#DE
		FI
		dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epi8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Divide packed signed 8-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := 8*j
	IF b[i+7:i] == 0
		#DE
	FI
	dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epi16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Divide packed signed 16-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	IF b[i+15:i] == 0
		#DE
	FI
	dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epi64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Divide packed signed 64-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	IF b[i+63:i] == 0
		#DE
	FI
	dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epi8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Divide packed 8-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 63
	i := 8*j
	dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epi16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Divide packed 16-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 31
	i := 16*j
	dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epi64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Divide packed 64-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 64*j
	dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF b[i+31:i] == 0
		#DE
	FI
	dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		IF b[i+31:i] == 0
			#DE
		FI
		dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epu8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Divide packed unsigned 8-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := 8*j
	IF b[i+7:i] == 0
		#DE
	FI
	dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epu16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Divide packed unsigned 16-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := 16*j
	IF b[i+15:i] == 0
		#DE
	FI
	dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_epu64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Divide packed unsigned 64-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	IF b[i+63:i] == 0
		#DE
	FI
	dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rem_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epu8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Divide packed unsigned 8-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 63
	i := 8*j
	dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epu16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<description>Divide packed unsigned 16-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 31
	i := 16*j
	dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_rem_epu64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Divide packed unsigned 64-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 64*j
	dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_log2_ps" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the base-2 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i]) / LOG(2.0)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VLOG2PS" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_log2_ps" tech="SVML">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the base-2 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LOG(a[i+31:i]) / LOG(2.0)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VLOG2PS" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_mask_add_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VADDPD" xed="VADDPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_add_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VADDPD" xed="VADDPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VADDPD" xed="VADDPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VADDPD" xed="VADDPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_add_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VADDPS" xed="VADDPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_add_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VADDPS" xed="VADDPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VADDPS" xed="VADDPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VADDPS" xed="VADDPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_div_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VDIVPD" xed="VDIVPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_div_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VDIVPD" xed="VDIVPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VDIVPD" xed="VDIVPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VDIVPD" xed="VDIVPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_div_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VDIVPS" xed="VDIVPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_div_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VDIVPS" xed="VDIVPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VDIVPS" xed="VDIVPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VDIVPS" xed="VDIVPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD132PD" xed="VFMADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD213PD" xed="VFMADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD231PD" xed="VFMADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD132PD" xed="VFMADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD213PD" xed="VFMADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD231PD" xed="VFMADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD132PD" xed="VFMADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD213PD" xed="VFMADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD231PD" xed="VFMADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132PD" xed="VFMADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213PD" xed="VFMADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231PD" xed="VFMADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132PD" xed="VFMADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213PD" xed="VFMADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231PD" xed="VFMADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD132PD" xed="VFMADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD213PD" xed="VFMADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD231PD" xed="VFMADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD132PS" xed="VFMADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD213PS" xed="VFMADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD231PS" xed="VFMADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD132PS" xed="VFMADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD213PS" xed="VFMADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD231PS" xed="VFMADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD132PS" xed="VFMADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD213PS" xed="VFMADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD231PS" xed="VFMADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132PS" xed="VFMADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213PS" xed="VFMADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231PS" xed="VFMADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132PS" xed="VFMADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213PS" xed="VFMADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231PS" xed="VFMADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD132PS" xed="VFMADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD213PS" xed="VFMADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD231PS" xed="VFMADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB132PD" xed="VFMSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB213PD" xed="VFMSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB231PD" xed="VFMSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB132PD" xed="VFMSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB213PD" xed="VFMSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB231PD" xed="VFMSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB132PD" xed="VFMSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB213PD" xed="VFMSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB231PD" xed="VFMSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132PD" xed="VFMSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213PD" xed="VFMSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231PD" xed="VFMSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132PD" xed="VFMSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213PD" xed="VFMSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231PD" xed="VFMSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB132PD" xed="VFMSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB213PD" xed="VFMSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB231PD" xed="VFMSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB132PS" xed="VFMSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB213PS" xed="VFMSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB231PS" xed="VFMSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB132PS" xed="VFMSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB213PS" xed="VFMSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB231PS" xed="VFMSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB132PS" xed="VFMSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB213PS" xed="VFMSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB231PS" xed="VFMSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132PS" xed="VFMSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213PS" xed="VFMSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231PS" xed="VFMSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132PS" xed="VFMSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213PS" xed="VFMSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231PS" xed="VFMSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB132PS" xed="VFMSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB213PS" xed="VFMSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB231PS" xed="VFMSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1 
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0) 
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD132PD" xed="VFNMADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD213PD" xed="VFNMADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD231PD" xed="VFNMADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD132PD" xed="VFNMADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD213PD" xed="VFNMADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD231PD" xed="VFNMADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD132PD" xed="VFNMADD132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD213PD" xed="VFNMADD213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD231PD" xed="VFNMADD231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132PD" xed="VFNMADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213PD" xed="VFNMADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231PD" xed="VFNMADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132PD" xed="VFNMADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213PD" xed="VFNMADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231PD" xed="VFNMADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD132PD" xed="VFNMADD132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD213PD" xed="VFNMADD213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD231PD" xed="VFNMADD231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD132PS" xed="VFNMADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD213PS" xed="VFNMADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD231PS" xed="VFNMADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD132PS" xed="VFNMADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD213PS" xed="VFNMADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD231PS" xed="VFNMADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD132PS" xed="VFNMADD132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD213PS" xed="VFNMADD213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD231PS" xed="VFNMADD231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132PS" xed="VFNMADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213PS" xed="VFNMADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231PS" xed="VFNMADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132PS" xed="VFNMADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213PS" xed="VFNMADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231PS" xed="VFNMADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD132PS" xed="VFNMADD132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD213PS" xed="VFNMADD213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD231PS" xed="VFNMADD231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB132PD" xed="VFNMSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB213PD" xed="VFNMSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB231PD" xed="VFNMSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB132PD" xed="VFNMSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB213PD" xed="VFNMSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB231PD" xed="VFNMSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB132PD" xed="VFNMSUB132PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB213PD" xed="VFNMSUB213PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB231PD" xed="VFNMSUB231PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB132PS" xed="VFNMSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB213PS" xed="VFNMSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB231PS" xed="VFNMSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB132PS" xed="VFNMSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB213PS" xed="VFNMSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB231PS" xed="VFNMSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB132PS" xed="VFNMSUB132PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB213PS" xed="VFNMSUB213PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB231PS" xed="VFNMSUB231PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMAXPD" xed="VMAXPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMAXPD" xed="VMAXPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMAXPD" xed="VMAXPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMAXPD" xed="VMAXPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMAXPS" xed="VMAXPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMAXPS" xed="VMAXPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMAXPS" xed="VMAXPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMAXPS" xed="VMAXPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMINPD" xed="VMINPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMINPD" xed="VMINPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMINPD" xed="VMINPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMINPD" xed="VMINPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMINPS" xed="VMINPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMINPS" xed="VMINPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMINPS" xed="VMINPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMINPS" xed="VMINPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mul_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMULPD" xed="VMULPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mul_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMULPD" xed="VMULPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMULPD" xed="VMULPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMULPD" xed="VMULPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mul_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).  RM.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMULPS" xed="VMULPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mul_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMULPS" xed="VMULPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMULPS" xed="VMULPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMULPS" xed="VMULPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_abs_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ABS(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPABSD" xed="VPABSD_YMMi32_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_abs_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ABS(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPABSD" xed="VPABSD_YMMi32_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_abs_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ABS(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPABSD" xed="VPABSD_XMMi32_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_abs_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ABS(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPABSD" xed="VPABSD_XMMi32_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ABS(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPABSQ" xed="VPABSQ_YMMi64_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ABS(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPABSQ" xed="VPABSQ_YMMi64_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ABS(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPABSQ" xed="VPABSQ_YMMi64_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ABS(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPABSQ" xed="VPABSQ_XMMi64_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ABS(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPABSQ" xed="VPABSQ_XMMi64_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ABS(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPABSQ" xed="VPABSQ_XMMi64_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_add_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDD" xed="VPADDD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_add_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDD" xed="VPADDD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDD" xed="VPADDD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDD" xed="VPADDD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_add_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPADDQ" xed="VPADDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_add_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] :=0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPADDQ" xed="VPADDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPADDQ" xed="VPADDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPADDQ" xed="VPADDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXSD" xed="VPMAXSD_YMMi32_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXSD" xed="VPMAXSD_YMMi32_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXSD" xed="VPMAXSD_XMMi32_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXSD" xed="VPMAXSD_XMMi32_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXSQ" xed="VPMAXSQ_YMMi64_MASKmskw_YMMi64_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXSQ" xed="VPMAXSQ_YMMi64_MASKmskw_YMMi64_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXSQ" xed="VPMAXSQ_YMMi64_MASKmskw_YMMi64_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXSQ" xed="VPMAXSQ_XMMi64_MASKmskw_XMMi64_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXSQ" xed="VPMAXSQ_XMMi64_MASKmskw_XMMi64_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMAXSQ" xed="VPMAXSQ_XMMi64_MASKmskw_XMMi64_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXUD" xed="VPMAXUD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXUD" xed="VPMAXUD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXUD" xed="VPMAXUD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXUD" xed="VPMAXUD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMAXUQ" xed="VPMAXUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMAXUQ" xed="VPMAXUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMAXUQ" xed="VPMAXUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMAXUQ" xed="VPMAXUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMAXUQ" xed="VPMAXUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMAXUQ" xed="VPMAXUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINSD" xed="VPMINSD_YMMi32_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINSD" xed="VPMINSD_YMMi32_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINSD" xed="VPMINSD_XMMi32_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINSD" xed="VPMINSD_XMMi32_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINSQ" xed="VPMINSQ_YMMi64_MASKmskw_YMMi64_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINSQ" xed="VPMINSQ_YMMi64_MASKmskw_YMMi64_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINSQ" xed="VPMINSQ_YMMi64_MASKmskw_YMMi64_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINSQ" xed="VPMINSQ_XMMi64_MASKmskw_XMMi64_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINSQ" xed="VPMINSQ_XMMi64_MASKmskw_XMMi64_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMINSQ" xed="VPMINSQ_XMMi64_MASKmskw_XMMi64_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINUD" xed="VPMINUD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINUD" xed="VPMINUD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINUD" xed="VPMINUD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINUD" xed="VPMINUD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMINUQ" xed="VPMINUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMINUQ" xed="VPMINUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMINUQ" xed="VPMINUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMINUQ" xed="VPMINUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMINUQ" xed="VPMINUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMINUQ" xed="VPMINUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mul_epi32" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULDQ" xed="VPMULDQ_YMMi64_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mul_epi32" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULDQ" xed="VPMULDQ_YMMi64_MASKmskw_YMMi32_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_epi32" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULDQ" xed="VPMULDQ_XMMi64_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_epi32" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULDQ" xed="VPMULDQ_XMMi64_MASKmskw_XMMi32_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mullo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp[63:0] := a[i+31:i] * b[i+31:i]
		dst[i+31:i] := tmp[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULLD" xed="VPMULLD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mullo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp[63:0] := a[i+31:i] * b[i+31:i]
		dst[i+31:i] := tmp[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULLD" xed="VPMULLD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mullo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp[63:0] := a[i+31:i] * b[i+31:i]
		dst[i+31:i] := tmp[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULLD" xed="VPMULLD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mullo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp[63:0] := a[i+31:i] * b[i+31:i]
		dst[i+31:i] := tmp[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULLD" xed="VPMULLD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mul_epu32" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULUDQ" xed="VPMULUDQ_YMMu64_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mul_epu32" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULUDQ" xed="VPMULUDQ_YMMu64_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_epu32" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULUDQ" xed="VPMULUDQ_XMMu64_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_epu32" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULUDQ" xed="VPMULUDQ_XMMu64_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sub_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBD" xed="VPSUBD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sub_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBD" xed="VPSUBD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBD" xed="VPSUBD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBD" xed="VPSUBD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sub_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSUBQ" xed="VPSUBQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sub_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSUBQ" xed="VPSUBQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSUBQ" xed="VPSUBQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSUBQ" xed="VPSUBQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VRCP14PD" xed="VRCP14PD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VRCP14PD" xed="VRCP14PD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := (1.0 / a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRCP14PD" xed="VRCP14PD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VRCP14PD" xed="VRCP14PD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VRCP14PD" xed="VRCP14PD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (1.0 / a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VRCP14PD" xed="VRCP14PD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VRCP14PS" xed="VRCP14PS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VRCP14PS" xed="VRCP14PS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := (1.0 / a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRCP14PS" xed="VRCP14PS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VRCP14PS" xed="VRCP14PS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VRCP14PS" xed="VRCP14PS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (1.0 / a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VRCP14PS" xed="VRCP14PS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRSQRT14PD" xed="VRSQRT14PD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VRSQRT14PD" xed="VRSQRT14PD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VRSQRT14PD" xed="VRSQRT14PD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VRSQRT14PD" xed="VRSQRT14PD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VRSQRT14PD" xed="VRSQRT14PD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VRSQRT14PD" xed="VRSQRT14PD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRSQRT14PS" xed="VRSQRT14PS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VRSQRT14PS" xed="VRSQRT14PS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VRSQRT14PS" xed="VRSQRT14PS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VRSQRT14PS" xed="VRSQRT14PS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VRSQRT14PS" xed="VRSQRT14PS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VRSQRT14PS" xed="VRSQRT14PS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VSUBPD" xed="VSUBPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sub_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VSUBPD" xed="VSUBPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSUBPD" xed="VSUBPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSUBPD" xed="VSUBPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VSUBPS" xed="VSUBPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sub_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VSUBPS" xed="VSUBPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSUBPS" xed="VSUBPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSUBPS" xed="VSUBPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 64-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 32 bytes (8 elements) in "dst".</description>
	<operation>
temp[511:256] := a[255:0]
temp[255:0] := b[255:0]
temp[511:0] := temp[511:0] &gt;&gt; (32*imm8[2:0])
dst[255:0] := temp[255:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VALIGND" xed="VALIGND_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 64-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 32 bytes (8 elements) in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
temp[511:256] := a[255:0]
temp[255:0] := b[255:0]
temp[511:0] := temp[511:0] &gt;&gt; (32*imm8[2:0])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := temp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VALIGND" xed="VALIGND_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 64-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 32 bytes (8 elements) in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
temp[511:256] := a[255:0]
temp[255:0] := b[255:0]
temp[511:0] := temp[511:0] &gt;&gt; (32*imm8[2:0])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := temp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VALIGND" xed="VALIGND_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 32-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 16 bytes (4 elements) in "dst".</description>
	<operation>
temp[255:128] := a[127:0]
temp[127:0] := b[127:0]
temp[255:0] := temp[255:0] &gt;&gt; (32*imm8[1:0])
dst[127:0] := temp[127:0]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VALIGND" xed="VALIGND_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 32-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 16 bytes (4 elements) in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
temp[255:128] := a[127:0]
temp[127:0] := b[127:0]
temp[255:0] := temp[255:0] &gt;&gt; (32*imm8[1:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := temp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VALIGND" xed="VALIGND_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 32-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 16 bytes (4 elements) in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
temp[255:128] := a[127:0]
temp[127:0] := b[127:0]
temp[255:0] := temp[255:0] &gt;&gt; (32*imm8[1:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := temp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VALIGND" xed="VALIGND_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 64-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 32 bytes (4 elements) in "dst".</description>
	<operation>
temp[511:256] := a[255:0]
temp[255:0] := b[255:0]
temp[511:0] := temp[511:0] &gt;&gt; (64*imm8[1:0])
dst[255:0] := temp[255:0]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VALIGNQ" xed="VALIGNQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 64-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 32 bytes (4 elements) in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
temp[511:256] := a[255:0]
temp[255:0] := b[255:0]
temp[511:0] := temp[511:0] &gt;&gt; (64*imm8[1:0])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := temp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VALIGNQ" xed="VALIGNQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 64-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 32 bytes (4 elements) in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
temp[511:256] := a[255:0]
temp[255:0] := b[255:0]
temp[511:0] := temp[511:0] &gt;&gt; (64*imm8[1:0])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := temp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VALIGNQ" xed="VALIGNQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 32-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 16 bytes (2 elements) in "dst".</description>
	<operation>
temp[255:128] := a[127:0]
temp[127:0] := b[127:0]
temp[255:0] := temp[255:0] &gt;&gt; (64*imm8[0])
dst[127:0] := temp[127:0]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VALIGNQ" xed="VALIGNQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 32-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 16 bytes (2 elements) in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
temp[255:128] := a[127:0]
temp[127:0] := b[127:0]
temp[255:0] := temp[255:0] &gt;&gt; (64*imm8[0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := temp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VALIGNQ" xed="VALIGNQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 32-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 16 bytes (2 elements) in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
temp[255:128] := a[127:0]
temp[127:0] := b[127:0]
temp[255:0] := temp[255:0] &gt;&gt; (64*imm8[0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := temp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VALIGNQ" xed="VALIGNQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_blend_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Blend packed double-precision (64-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VBLENDMPD" xed="VBLENDMPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_blend_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Blend packed double-precision (64-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VBLENDMPD" xed="VBLENDMPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_blend_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Blend packed single-precision (32-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VBLENDMPS" xed="VBLENDMPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_blend_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Blend packed single-precision (32-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VBLENDMPS" xed="VBLENDMPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_f32x4" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the 4 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 4)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTF32X4" xed="VBROADCASTF32X4_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcast_f32x4" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the 4 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m128" name="VBROADCASTF32X4" xed="VBROADCASTF32X4_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcast_f32x4" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the 4 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m128" name="VBROADCASTF32X4" xed="VBROADCASTF32X4_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_broadcast_i32x4" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the 4 packed 32-bit integers from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 4)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m128" name="VBROADCASTI32X4" xed="VBROADCASTI32X4_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcast_i32x4" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the 4 packed 32-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m128" name="VBROADCASTI32X4" xed="VBROADCASTI32X4_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcast_i32x4" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the 4 packed 32-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m128" name="VBROADCASTI32X4" xed="VBROADCASTI32X4_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcastsd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the low double-precision (64-bit) floating-point element from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VBROADCASTSD" xed="VBROADCASTSD_YMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcastsd_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the low double-precision (64-bit) floating-point element from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VBROADCASTSD" xed="VBROADCASTSD_YMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcastss_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_YMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcastss_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_YMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_broadcastss_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_broadcastss_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compress_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := src[255:m]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCOMPRESSPD" xed="VCOMPRESSPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_compress_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCOMPRESSPD" xed="VCOMPRESSPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compress_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := src[127:m]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCOMPRESSPD" xed="VCOMPRESSPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_compress_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCOMPRESSPD" xed="VCOMPRESSPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compress_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := src[255:m]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCOMPRESSPS" xed="VCOMPRESSPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_compress_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCOMPRESSPS" xed="VCOMPRESSPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compress_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := src[127:m]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCOMPRESSPS" xed="VCOMPRESSPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_compress_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCOMPRESSPS" xed="VCOMPRESSPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expand_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VEXPANDPD" xed="VEXPANDPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expand_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VEXPANDPD" xed="VEXPANDPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expand_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VEXPANDPD" xed="VEXPANDPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expand_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm " name="VEXPANDPD" xed="VEXPANDPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expand_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VEXPANDPS" xed="VEXPANDPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expand_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VEXPANDPS" xed="VEXPANDPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expand_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VEXPANDPS" xed="VEXPANDPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expand_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VEXPANDPS" xed="VEXPANDPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_extractf32x4_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTF32X4" xed="VEXTRACTF32X4_XMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_extractf32x4_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm, imm8" name="VEXTRACTF32X4" xed="VEXTRACTF32X4_XMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_extractf32x4_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm, imm8" name="VEXTRACTF32X4" xed="VEXTRACTF32X4_XMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_extracti32x4_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed 32-bit integers) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VEXTRACTI32X4" xed="VEXTRACTI32X4_XMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_extracti32x4_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed 32-bit integers) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm, imm8" name="VEXTRACTI32X4" xed="VEXTRACTI32X4_XMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_extracti32x4_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed 32-bit integers) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm, imm8" name="VEXTRACTI32X4" xed="VEXTRACTI32X4_XMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN: j := 0
	SNAN_TOKEN: j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ConvertExpFP64(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VGETEXPPD" xed="VGETEXPPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VGETEXPPD" xed="VGETEXPPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VGETEXPPD" xed="VGETEXPPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ConvertExpFP64(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VGETEXPPD" xed="VGETEXPPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VGETEXPPD" xed="VGETEXPPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VGETEXPPD" xed="VGETEXPPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ConvertExpFP32(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VGETEXPPS" xed="VGETEXPPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VGETEXPPS" xed="VGETEXPPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VGETEXPPS" xed="VGETEXPPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ConvertExpFP32(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VGETEXPPS" xed="VGETEXPPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VGETEXPPS" xed="VGETEXPPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VGETEXPPS" xed="VGETEXPPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VGETMANTPD" xed="VGETMANTPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VGETMANTPD" xed="VGETMANTPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VGETMANTPD" xed="VGETMANTPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VGETMANTPD" xed="VGETMANTPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VGETMANTPD" xed="VGETMANTPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VGETMANTPD" xed="VGETMANTPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VGETMANTPS" xed="VGETMANTPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VGETMANTPS" xed="VGETMANTPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VGETMANTPS" xed="VGETMANTPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VGETMANTPS" xed="VGETMANTPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VGETMANTPS" xed="VGETMANTPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VGETMANTPS" xed="VGETMANTPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_insertf32x4" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE (imm8[0]) OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTF32X4" xed="VINSERTF32X4_YMMf32_MASKmskw_YMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_insertf32x4" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm, imm8" name="VINSERTF32X4" xed="VINSERTF32X4_YMMf32_MASKmskw_YMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_insertf32x4" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm, imm8" name="VINSERTF32X4" xed="VINSERTF32X4_YMMf32_MASKmskw_YMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_inserti32x4" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 4 packed 32-bit integers) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[255:0] := a[255:0]
CASE (imm8[0]) OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm, imm8" name="VINSERTI32X4" xed="VINSERTI32X4_YMMu32_MASKmskw_YMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_inserti32x4" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed 32-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm, imm8" name="VINSERTI32X4" xed="VINSERTI32X4_YMMu32_MASKmskw_YMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_inserti32x4" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed 32-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[255:0] := a[255:0]
CASE (imm8[0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
ESAC
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm, imm8" name="VINSERTI32X4" xed="VINSERTI32X4_YMMu32_MASKmskw_YMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_blend_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Blend packed 32-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPBLENDMD" xed="VPBLENDMD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_blend_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Blend packed 32-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPBLENDMD" xed="VPBLENDMD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_blend_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Blend packed 64-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPBLENDMQ" xed="VPBLENDMQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_blend_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Blend packed 64-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPBLENDMQ" xed="VPBLENDMQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcastd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_YMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcastd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_YMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_broadcastd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_broadcastd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_broadcastq_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_YMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_broadcastq_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_YMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_broadcastq_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_broadcastq_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compress_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := src[255:m]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPCOMPRESSD" xed="VPCOMPRESSD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_compress_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPCOMPRESSD" xed="VPCOMPRESSD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compress_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := src[127:m]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPCOMPRESSD" xed="VPCOMPRESSD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_compress_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPCOMPRESSD" xed="VPCOMPRESSD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compress_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := src[255:m]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_compress_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compress_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := src[127:m]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_compress_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutexvar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMD" xed="VPERMD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutexvar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMD" xed="VPERMD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutexvar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	dst[i+31:i] := a[id+31:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMD" xed="VPERMD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask2_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+3] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := idx[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMI2D" xed="VPERMI2D_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+3] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMT2D" xed="VPERMT2D_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := (idx[i+3]) ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMI2D" xed="VPERMI2D_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VPERMT2D" xed="VPERMT2D_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	dst[i+31:i] := idx[i+3] ? b[off+31:off] : a[off+31:off]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMI2D" xed="VPERMI2D_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VPERMT2D" xed="VPERMT2D_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask2_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+2] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := idx[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMI2D" xed="VPERMI2D_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+2] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMT2D" xed="VPERMT2D_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	IF k[j]
		dst[i+31:i] := (idx[i+2]) ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMI2D" xed="VPERMI2D_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VPERMT2D" xed="VPERMT2D_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	dst[i+31:i] := idx[i+2] ? b[off+31:off] : a[off+31:off]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMI2D" xed="VPERMI2D_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VPERMT2D" xed="VPERMT2D_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask2_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+2] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := idx[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMI2PD" xed="VPERMI2PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+2] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMT2PD" xed="VPERMT2PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := (idx[i+2]) ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMI2PD" xed="VPERMI2PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VPERMT2PD" xed="VPERMT2PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	dst[i+63:i] := idx[i+2] ? b[off+63:off] : a[off+63:off]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMI2PD" xed="VPERMI2PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VPERMT2PD" xed="VPERMT2PD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask2_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set)</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	IF k[j]
		dst[i+63:i] := idx[i+1] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := idx[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMI2PD" xed="VPERMI2PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	IF k[j]
		dst[i+63:i] := idx[i+1] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMT2PD" xed="VPERMT2PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	IF k[j]
		dst[i+63:i] := (idx[i+1]) ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMI2PD" xed="VPERMI2PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VPERMT2PD" xed="VPERMT2PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	dst[i+63:i] := idx[i+1] ? b[off+63:off] : a[off+63:off]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMI2PD" xed="VPERMI2PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VPERMT2PD" xed="VPERMT2PD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask2_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+3] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := idx[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMI2PS" xed="VPERMI2PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+3] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMT2PS" xed="VPERMT2PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := (idx[i+3]) ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMI2PS" xed="VPERMI2PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VPERMT2PS" xed="VPERMT2PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	off := idx[i+2:i]*32
	dst[i+31:i] := idx[i+3] ? b[off+31:off] : a[off+31:off]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMI2PS" xed="VPERMI2PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VPERMT2PS" xed="VPERMT2PS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask2_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+2] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := idx[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMI2PS" xed="VPERMI2PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+2] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMT2PS" xed="VPERMT2PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	IF k[j]
		dst[i+31:i] := (idx[i+2]) ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMI2PS" xed="VPERMI2PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VPERMT2PS" xed="VPERMT2PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="idx" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	off := idx[i+1:i]*32
	dst[i+31:i] := idx[i+2] ? b[off+31:off] : a[off+31:off]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMI2PS" xed="VPERMI2PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VPERMT2PS" xed="VPERMT2PS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask2_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+2] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := idx[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMI2Q" xed="VPERMI2Q_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+2] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMT2Q" xed="VPERMT2Q_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := (idx[i+2]) ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMI2Q" xed="VPERMI2Q_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VPERMT2Q" xed="VPERMT2Q_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	off := idx[i+1:i]*64
	dst[i+63:i] := idx[i+2] ? b[off+63:off] : a[off+63:off]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMI2Q" xed="VPERMI2Q_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VPERMT2Q" xed="VPERMT2Q_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask2_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	IF k[j]
		dst[i+63:i] := idx[i+1] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := idx[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMI2Q" xed="VPERMI2Q_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	IF k[j]
		dst[i+63:i] := idx[i+1] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMT2Q" xed="VPERMT2Q_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	IF k[j]
		dst[i+63:i] := (idx[i+1]) ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMI2Q" xed="VPERMI2Q_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VPERMT2Q" xed="VPERMT2Q_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="idx" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	off := idx[i]*64
	dst[i+63:i] := idx[i+1] ? b[off+63:off] : a[off+63:off]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMI2Q" xed="VPERMI2Q_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VPERMT2Q" xed="VPERMT2Q_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permute_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
IF (imm8[0] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (imm8[2] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (imm8[2] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (imm8[3] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (imm8[3] == 1) tmp_dst[255:192] := a[255:192]; FI
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPERMILPD" xed="VPERMILPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutevar_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
IF (b[1] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (b[1] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (b[65] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (b[65] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (b[129] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (b[129] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (b[193] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (b[193] == 1) tmp_dst[255:192] := a[255:192]; FI
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMILPD" xed="VPERMILPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permute_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
IF (imm8[0] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (imm8[2] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (imm8[2] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (imm8[3] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (imm8[3] == 1) tmp_dst[255:192] := a[255:192]; FI
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPERMILPD" xed="VPERMILPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutevar_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
IF (b[1] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (b[1] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (b[65] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (b[65] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (b[129] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (b[129] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (b[193] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (b[193] == 1) tmp_dst[255:192] := a[255:192]; FI
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMILPD" xed="VPERMILPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permute_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
IF (imm8[0] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) tmp_dst[127:64] := a[127:64]; FI
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPERMILPD" xed="VPERMILPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutevar_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" using the control in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
IF (b[1] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (b[1] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (b[65] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (b[65] == 1) tmp_dst[127:64] := a[127:64]; FI
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMILPD" xed="VPERMILPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permute_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
IF (imm8[0] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) tmp_dst[127:64] := a[127:64]; FI
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPERMILPD" xed="VPERMILPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutevar_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" using the control in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
IF (b[1] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (b[1] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (b[65] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (b[65] == 1) tmp_dst[127:64] := a[127:64]; FI
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMILPD" xed="VPERMILPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permute_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPERMILPS" xed="VPERMILPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutevar_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], b[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], b[33:32])
tmp_dst[95:64] := SELECT4(a[127:0], b[65:64])
tmp_dst[127:96] := SELECT4(a[127:0], b[97:96])
tmp_dst[159:128] := SELECT4(a[255:128], b[129:128])
tmp_dst[191:160] := SELECT4(a[255:128], b[161:160])
tmp_dst[223:192] := SELECT4(a[255:128], b[193:192])
tmp_dst[255:224] := SELECT4(a[255:128], b[225:224])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMILPS" xed="VPERMILPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permute_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPERMILPS" xed="VPERMILPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutevar_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], b[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], b[33:32])
tmp_dst[95:64] := SELECT4(a[127:0], b[65:64])
tmp_dst[127:96] := SELECT4(a[127:0], b[97:96])
tmp_dst[159:128] := SELECT4(a[255:128], b[129:128])
tmp_dst[191:160] := SELECT4(a[255:128], b[161:160])
tmp_dst[223:192] := SELECT4(a[255:128], b[193:192])
tmp_dst[255:224] := SELECT4(a[255:128], b[225:224])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMILPS" xed="VPERMILPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permute_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPERMILPS" xed="VPERMILPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutevar_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], b[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], b[33:32])
tmp_dst[95:64] := SELECT4(a[127:0], b[65:64])
tmp_dst[127:96] := SELECT4(a[127:0], b[97:96])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMILPS" xed="VPERMILPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permute_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPERMILPS" xed="VPERMILPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutevar_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], b[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], b[33:32])
tmp_dst[95:64] := SELECT4(a[127:0], b[65:64])
tmp_dst[127:96] := SELECT4(a[127:0], b[97:96])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMILPS" xed="VPERMILPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPERMPD" xed="VPERMPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutexvar_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	id := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMPD" xed="VPERMPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPERMPD" xed="VPERMPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutexvar_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	id := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMPD" xed="VPERMPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
dst[63:0] := SELECT4(a[255:0], imm8[1:0])
dst[127:64] := SELECT4(a[255:0], imm8[3:2])
dst[191:128] := SELECT4(a[255:0], imm8[5:4])
dst[255:192] := SELECT4(a[255:0], imm8[7:6])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPERMPD" xed="VPERMPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutexvar_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	id := idx[i+1:i]*64
	dst[i+63:i] := a[id+63:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMPD" xed="VPERMPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutexvar_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMPS" xed="VPERMPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutexvar_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMPS" xed="VPERMPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutexvar_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="idx" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" across lanes using the corresponding index in "idx".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	id := idx[i+2:i]*32
	dst[i+31:i] := a[id+31:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMPS" xed="VPERMPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 64-bit integers in "a" across lanes lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPERMQ" xed="VPERMQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutexvar_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Shuffle 64-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	id := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMQ" xed="VPERMQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 64-bit integers in "a" across lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPERMQ" xed="VPERMQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutexvar_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Shuffle 64-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	id := idx[i+1:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMQ" xed="VPERMQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 64-bit integers in "a" across lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
dst[63:0] := SELECT4(a[255:0], imm8[1:0])
dst[127:64] := SELECT4(a[255:0], imm8[3:2])
dst[191:128] := SELECT4(a[255:0], imm8[5:4])
dst[255:192] := SELECT4(a[255:0], imm8[7:6])
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPERMQ" xed="VPERMQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutexvar_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="idx" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Shuffle 64-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	id := idx[i+1:i]*64
	dst[i+63:i] := a[id+63:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMQ" xed="VPERMQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expand_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Load contiguous active 32-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPEXPANDD" xed="VPEXPANDD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expand_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Load contiguous active 32-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPEXPANDD" xed="VPEXPANDD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expand_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Load contiguous active 32-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPEXPANDD" xed="VPEXPANDD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expand_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Load contiguous active 32-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPEXPANDD" xed="VPEXPANDD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expand_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Load contiguous active 64-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPEXPANDQ" xed="VPEXPANDQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expand_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Load contiguous active 64-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPEXPANDQ" xed="VPEXPANDQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expand_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Load contiguous active 64-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPEXPANDQ" xed="VPEXPANDQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expand_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Load contiguous active 64-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPEXPANDQ" xed="VPEXPANDQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_PERM" type="_MM_PERM_ENUM" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSHUFD" xed="VPSHUFD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_PERM" type="_MM_PERM_ENUM" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSHUFD" xed="VPSHUFD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shuffle_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_PERM" type="_MM_PERM_ENUM" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSHUFD" xed="VPSHUFD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shuffle_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_PERM" type="_MM_PERM_ENUM" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSHUFD" xed="VPSHUFD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpackhi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpackhi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpackhi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpackhi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpackhi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpackhi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpackhi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpackhi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpacklo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpacklo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpacklo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpacklo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpacklo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpacklo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpacklo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpacklo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_YMMf64_MASKmskw_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_XMMf64_MASKmskw_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_YMMf32_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_XMMf32_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VSCALEFPD" xed="VSCALEFPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VSCALEFPD" xed="VSCALEFPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VSCALEFPD" xed="VSCALEFPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSCALEFPD" xed="VSCALEFPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSCALEFPD" xed="VSCALEFPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSCALEFPD" xed="VSCALEFPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VSCALEFPS" xed="VSCALEFPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VSCALEFPS" xed="VSCALEFPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VSCALEFPS" xed="VSCALEFPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSCALEFPS" xed="VSCALEFPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSCALEFPS" xed="VSCALEFPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSCALEFPS" xed="VSCALEFPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 single-precision (32-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VSHUFF32X4" xed="VSHUFF32X4_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 single-precision (32-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VSHUFF32X4" xed="VSHUFF32X4_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 single-precision (32-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
dst.m128[0] := a.m128[imm8[0]]
dst.m128[1] := b.m128[imm8[1]]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VSHUFF32X4" xed="VSHUFF32X4_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_f64x2" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 double-precision (64-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VSHUFF64X2" xed="VSHUFF64X2_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_f64x2" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 double-precision (64-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VSHUFF64X2" xed="VSHUFF64X2_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_f64x2" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 double-precision (64-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
dst.m128[0] := a.m128[imm8[0]]
dst.m128[1] := b.m128[imm8[1]]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VSHUFF64X2" xed="VSHUFF64X2_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 32-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VSHUFI32X4" xed="VSHUFI32X4_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 32-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VSHUFI32X4" xed="VSHUFI32X4_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 32-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
dst.m128[0] := a.m128[imm8[0]]
dst.m128[1] := b.m128[imm8[1]]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VSHUFI32X4" xed="VSHUFI32X4_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_i64x2" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 64-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VSHUFI64X2" xed="VSHUFI64X2_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_i64x2" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 64-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst.m128[0] := a.m128[imm8[0]]
tmp_dst.m128[1] := b.m128[imm8[1]]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VSHUFI64X2" xed="VSHUFI64X2_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_shuffle_i64x2" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 64-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
dst.m128[0] := a.m128[imm8[0]]
dst.m128[1] := b.m128[imm8[1]]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VSHUFI64X2" xed="VSHUFI64X2_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
tmp_dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
tmp_dst[191:128] := (imm8[2] == 0) ? a[191:128] : a[255:192]
tmp_dst[255:192] := (imm8[3] == 0) ? b[191:128] : b[255:192]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VSHUFPD" xed="VSHUFPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
tmp_dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
tmp_dst[191:128] := (imm8[2] == 0) ? a[191:128] : a[255:192]
tmp_dst[255:192] := (imm8[3] == 0) ? b[191:128] : b[255:192]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VSHUFPD" xed="VSHUFPD_YMMf64_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shuffle_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
tmp_dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VSHUFPD" xed="VSHUFPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shuffle_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
tmp_dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VSHUFPD" xed="VSHUFPD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shuffle_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(b[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(b[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(b[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(b[255:128], imm8[7:6])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VSHUFPS" xed="VSHUFPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shuffle_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(b[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(b[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(b[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(b[255:128], imm8[7:6])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VSHUFPS" xed="VSHUFPS_YMMf32_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shuffle_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(b[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(b[127:0], imm8[7:6])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VSHUFPS" xed="VSHUFPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shuffle_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(b[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(b[127:0], imm8[7:6])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VSHUFPS" xed="VSHUFPS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpackhi_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VUNPCKHPD" xed="VUNPCKHPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpackhi_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VUNPCKHPD" xed="VUNPCKHPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpackhi_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VUNPCKHPD" xed="VUNPCKHPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpackhi_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VUNPCKHPD" xed="VUNPCKHPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpackhi_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VUNPCKHPS" xed="VUNPCKHPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpackhi_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VUNPCKHPS" xed="VUNPCKHPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpackhi_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VUNPCKHPS" xed="VUNPCKHPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpackhi_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VUNPCKHPS" xed="VUNPCKHPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpacklo_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VUNPCKLPD" xed="VUNPCKLPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpacklo_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VUNPCKLPD" xed="VUNPCKLPD_YMMf64_MASKmskw_YMMf64_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpacklo_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VUNPCKLPD" xed="VUNPCKLPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpacklo_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VUNPCKLPD" xed="VUNPCKLPD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_unpacklo_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VUNPCKLPS" xed="VUNPCKLPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_unpacklo_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VUNPCKLPS" xed="VUNPCKLPS_YMMf32_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_unpacklo_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VUNPCKLPS" xed="VUNPCKLPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_unpacklo_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VUNPCKLPS" xed="VUNPCKLPS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 3
	i := j*64
	k[j] := (a[i+63:i] OP b[i+63:i]) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_YMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	i := j*32
	k[j] := (a[i+31:i] OP b[i+31:i]) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_YMMf32_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="SI32" type="__m256i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_YMMi32_YMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_XMMi32_XMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="SI64" type="__m256i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_YMMi64_YMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_XMMi64_XMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpeq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpge_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpgt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmple_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmplt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmpneq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpeq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpge_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpgt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmple_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmplt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmpneq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpeq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpge_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpgt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmple_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmplt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmpneq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_test_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] AND b[i+31:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTMD" xed="VPTESTMD_MASKmskw_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_test_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ((a[i+31:i] AND b[i+31:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTMD" xed="VPTESTMD_MASKmskw_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_test_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] AND b[i+31:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTMD" xed="VPTESTMD_MASKmskw_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_test_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ((a[i+31:i] AND b[i+31:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTMD" xed="VPTESTMD_MASKmskw_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_test_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ((a[i+63:i] AND b[i+63:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTMQ" xed="VPTESTMQ_MASKmskw_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_test_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ((a[i+63:i] AND b[i+63:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTMQ" xed="VPTESTMQ_MASKmskw_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_test_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ((a[i+63:i] AND b[i+63:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTMQ" xed="VPTESTMQ_MASKmskw_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_test_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ((a[i+63:i] AND b[i+63:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTMQ" xed="VPTESTMQ_MASKmskw_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_testn_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] AND b[i+31:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTNMD" xed="VPTESTNMD_MASKmskw_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_testn_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	k[j] := ((a[i+31:i] AND b[i+31:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTNMD" xed="VPTESTNMD_MASKmskw_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_testn_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] AND b[i+31:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTNMD" xed="VPTESTNMD_MASKmskw_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_testn_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	k[j] := ((a[i+31:i] AND b[i+31:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTNMD" xed="VPTESTNMD_MASKmskw_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_testn_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k1[j]
		k[j] := ((a[i+63:i] AND b[i+63:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPTESTNMQ" xed="VPTESTNMQ_MASKmskw_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_testn_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise NAND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	k[j] := ((a[i+63:i] AND b[i+63:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:4] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPTESTNMQ" xed="VPTESTNMQ_MASKmskw_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_testn_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k1[j]
		k[j] := ((a[i+63:i] AND b[i+63:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPTESTNMQ" xed="VPTESTNMQ_MASKmskw_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_testn_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise NAND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	k[j] := ((a[i+63:i] AND b[i+63:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:2] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPTESTNMQ" xed="VPTESTNMQ_MASKmskw_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compressstoreu_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 64
m := base_addr
FOR j := 0 to 3
	i := j*64
	IF k[j]
		MEM[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VCOMPRESSPD" xed="VCOMPRESSPD_MEMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compressstoreu_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 64
m := base_addr
FOR j := 0 to 1
	i := j*64
	IF k[j]
		MEM[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VCOMPRESSPD" xed="VCOMPRESSPD_MEMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compressstoreu_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 32
m := base_addr
FOR j := 0 to 7
	i := j*32
	IF k[j]
		MEM[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VCOMPRESSPS" xed="VCOMPRESSPS_MEMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compressstoreu_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 32
m := base_addr
FOR j := 0 to 3
	i := j*32
	IF k[j]
		MEM[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VCOMPRESSPS" xed="VCOMPRESSPS_MEMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_store_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVAPD" xed="VMOVAPD_MEMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_store_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVAPD" xed="VMOVAPD_MEMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_store_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVAPS" xed="VMOVAPS_MEMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_store_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVAPS" xed="VMOVAPS_MEMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_store_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVDQA32" xed="VMOVDQA32_MEMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_store_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVDQA32" xed="VMOVDQA32_MEMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_store_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVDQA64" xed="VMOVDQA64_MEMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_store_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVDQA64" xed="VMOVDQA64_MEMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_storeu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVDQU32" xed="VMOVDQU32_MEMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_storeu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVDQU32" xed="VMOVDQU32_MEMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_storeu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVDQU64" xed="VMOVDQU64_MEMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_storeu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVDQU64" xed="VMOVDQU64_MEMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_storeu_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVUPD" xed="VMOVUPD_MEMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_storeu_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVUPD" xed="VMOVUPD_MEMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_storeu_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VMOVUPS" xed="VMOVUPS_MEMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_storeu_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VMOVUPS" xed="VMOVUPS_MEMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compressstoreu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 32
m := base_addr
FOR j := 0 to 7
	i := j*32
	IF k[j]
		MEM[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VPCOMPRESSD" xed="VPCOMPRESSD_MEMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compressstoreu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 32
m := base_addr
FOR j := 0 to 3
	i := j*32
	IF k[j]
		MEM[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VPCOMPRESSD" xed="VPCOMPRESSD_MEMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compressstoreu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 64
m := base_addr
FOR j := 0 to 3
	i := j*64
	IF k[j]
		MEM[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_MEMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compressstoreu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 64
m := base_addr
FOR j := 0 to 1
	i := j*64
	IF k[j]
		MEM[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_MEMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i32scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm32y, ymm" name="VPSCATTERDD" xed="VPSCATTERDD_MEMu32_MASKmskw_YMMu32_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32y {k}, ymm" name="VPSCATTERDD" xed="VPSCATTERDD_MEMu32_MASKmskw_YMMu32_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i32scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm32x, xmm" name="VPSCATTERDD" xed="VPSCATTERDD_MEMu32_MASKmskw_XMMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32x {k}, xmm" name="VPSCATTERDD" xed="VPSCATTERDD_MEMu32_MASKmskw_XMMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i32scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm32x, ymm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32x {k}, ymm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i32scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm32x, xmm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32x {k}, xmm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i64scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm64y, xmm" name="VPSCATTERQD" xed="VPSCATTERQD_MEMu32_MASKmskw_XMMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64y {k}, xmm" name="VPSCATTERQD" xed="VPSCATTERQD_MEMu32_MASKmskw_XMMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i64scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm64x, xmm" name="VPSCATTERQD" xed="VPSCATTERQD_MEMu32_MASKmskw_XMMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64x {k}, xmm" name="VPSCATTERQD" xed="VPSCATTERQD_MEMu32_MASKmskw_XMMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i64scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm64y, ymm" name="VPSCATTERQQ" xed="VPSCATTERQQ_MEMu64_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64y {k}, ymm" name="VPSCATTERQQ" xed="VPSCATTERQQ_MEMu64_MASKmskw_YMMu64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i64scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm64x, xmm" name="VPSCATTERQQ" xed="VPSCATTERQQ_MEMu64_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64x {k}, xmm" name="VPSCATTERQQ" xed="VPSCATTERQQ_MEMu64_MASKmskw_XMMu64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i32scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm32x, ymm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32x {k}, ymm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i32scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm32x, xmm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32x {k}, xmm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i32scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm32y, ymm" name="VSCATTERDPS" xed="VSCATTERDPS_MEMf32_MASKmskw_YMMf32_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i32scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32y {k}, ymm" name="VSCATTERDPS" xed="VSCATTERDPS_MEMf32_MASKmskw_YMMf32_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i32scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm32x, xmm" name="VSCATTERDPS" xed="VSCATTERDPS_MEMf32_MASKmskw_XMMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i32scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32x {k}, xmm" name="VSCATTERDPS" xed="VSCATTERDPS_MEMf32_MASKmskw_XMMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i64scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm64y, ymm" name="VSCATTERQPD" xed="VSCATTERQPD_MEMf64_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64y {k}, ymm" name="VSCATTERQPD" xed="VSCATTERQPD_MEMf64_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i64scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm64x, xmm" name="VSCATTERQPD" xed="VSCATTERQPD_MEMf64_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64x {k}, xmm" name="VSCATTERQPD" xed="VSCATTERQPD_MEMf64_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_i64scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm64y, xmm" name="VSCATTERQPS" xed="VSCATTERQPS_MEMf32_MASKmskw_XMMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_i64scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64y {k}, xmm" name="VSCATTERQPS" xed="VSCATTERQPS_MEMf32_MASKmskw_XMMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_i64scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm64x, xmm" name="VSCATTERQPS" xed="VSCATTERQPS_MEMf32_MASKmskw_XMMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_i64scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64x {k}, xmm" name="VSCATTERQPS" xed="VSCATTERQPS_MEMf32_MASKmskw_XMMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Store 256-bits (composed of 4 packed 64-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQU64" xed="VMOVDQU64_MEMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Store 256-bits (composed of 8 packed 32-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQU32" xed="VMOVDQU32_MEMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Store 128-bits (composed of 2 packed 64-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="VMOVDQU64" xed="VMOVDQU64_MEMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Store 128-bits (composed of 4 packed 32-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="VMOVDQU32" xed="VMOVDQU32_MEMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_store_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Store 256-bits (composed of 4 packed 64-bit integers) from "a" into memory.
		"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQA64" xed="VMOVDQA64_MEMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_store_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Store 256-bits (composed of 8 packed 32-bit integers) from "a" into memory.
		"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVDQA32" xed="VMOVDQA32_MEMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Store 128-bits (composed of 2 packed 64-bit integers) from "a" into memory.
		"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="VMOVDQA64" xed="VMOVDQA64_MEMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Store 128-bits (composed of 4 packed 32-bit integers) from "a" into memory.
		"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="VMOVDQA32" xed="VMOVDQA32_MEMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF k[j]
		dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
	ELSE
		dst[m+63:m] := src[m+63:m]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTDQ2PD" xed="VCVTDQ2PD_YMMf64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi32_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF k[j]
		dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
	ELSE
		dst[m+63:m] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTDQ2PD" xed="VCVTDQ2PD_YMMf64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF k[j]
		dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
	ELSE
		dst[m+63:m] := src[m+63:m]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTDQ2PD" xed="VCVTDQ2PD_XMMf64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi32_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF k[j]
		dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
	ELSE
		dst[m+63:m] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTDQ2PD" xed="VCVTDQ2PD_XMMf64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTDQ2PS" xed="VCVTDQ2PS_YMMf32_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTDQ2PS" xed="VCVTDQ2PS_YMMf32_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTDQ2PS" xed="VCVTDQ2PS_XMMf32_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTDQ2PS" xed="VCVTDQ2PS_XMMf32_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTPD2DQ" xed="VCVTPD2DQ_XMMi32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTPD2DQ" xed="VCVTPD2DQ_XMMi32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPD2DQ" xed="VCVTPD2DQ_XMMi32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPD2DQ" xed="VCVTPD2DQ_XMMi32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTPD2PS" xed="VCVTPD2PS_XMMf32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTPD2PS" xed="VCVTPD2PS_XMMf32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPD2PS" xed="VCVTPD2PS_XMMf32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPD2PS" xed="VCVTPD2PS_XMMf32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32(a[k+63:k])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_XMMu32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_XMMu32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_XMMu32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32(a[k+63:k])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_XMMu32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_XMMu32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_XMMu32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPH2PS" xed="VCVTPH2PS_YMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPH2PS" xed="VCVTPH2PS_YMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2PS" xed="VCVTPH2PS_XMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2PS" xed="VCVTPH2PS_XMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTPS2DQ" xed="VCVTPS2DQ_YMMi32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTPS2DQ" xed="VCVTPS2DQ_YMMi32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPS2DQ" xed="VCVTPS2DQ_XMMi32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPS2DQ" xed="VCVTPS2DQ_XMMi32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvt_roundps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvt_roundps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_YMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvt_roundps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 3
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 3
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvt_roundps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 3
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtps_ph" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
FOR j := 0 to 3
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMf16_MASKmskw_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_YMMu32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_YMMu32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_YMMu32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_XMMu32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_XMMu32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_XMMu32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_XMMi32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_XMMi32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_XMMi32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_XMMi32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_XMMu32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_XMMu32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_XMMu32_MASKmskw_YMMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_XMMu32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_XMMu32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_XMMu32_MASKmskw_XMMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_YMMi32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_YMMi32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_XMMi32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_XMMi32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_YMMu32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed double-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_YMMu32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed double-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_YMMu32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_XMMu32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed double-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_XMMu32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed double-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_XMMu32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_Int32_To_FP64(a[l+31:l])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_YMMf64_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_Int32_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_YMMf64_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_YMMf64_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_Int64_To_FP64(a[l+31:l])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_XMMf64_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_XMMf64_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_XMMf64_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 8*j
	dst[k+7:k] := Truncate8(a[i+31:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, ymm" name="VPMOVDB" xed="VPMOVDB_MEMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 8*j
	dst[k+7:k] := Truncate8(a[i+31:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVDB" xed="VPMOVDB_MEMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 16*j
	dst[k+15:k] := Truncate16(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVDW" xed="VPMOVDW_XMMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVDW" xed="VPMOVDW_XMMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Truncate16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVDW" xed="VPMOVDW_MEMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVDW" xed="VPMOVDW_XMMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 16*j
	dst[k+15:k] := Truncate16(a[i+31:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVDW" xed="VPMOVDW_XMMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVDW" xed="VPMOVDW_XMMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Truncate16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVDW" xed="VPMOVDW_MEMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVDW" xed="VPMOVDW_XMMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 8*j
	dst[k+7:k] := Truncate8(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, ymm" name="VPMOVQB" xed="VPMOVQB_MEMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 8*j
	dst[k+7:k] := Truncate8(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="16" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m16 {k}, xmm" name="VPMOVQB" xed="VPMOVQB_MEMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 32*j
	dst[k+31:k] := Truncate32(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVQD" xed="VPMOVQD_XMMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Truncate32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVQD" xed="VPMOVQD_XMMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := Truncate32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVQD" xed="VPMOVQD_MEMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Truncate32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVQD" xed="VPMOVQD_XMMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 32*j
	dst[k+31:k] := Truncate32(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVQD" xed="VPMOVQD_XMMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Truncate32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVQD" xed="VPMOVQD_XMMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI32" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := Truncate32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVQD" xed="VPMOVQD_MEMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Truncate32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVQD" xed="VPMOVQD_XMMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 16*j
	dst[k+15:k] := Truncate16(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Truncate16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, ymm" name="VPMOVQW" xed="VPMOVQW_MEMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 16*j
	dst[k+15:k] := Truncate16(a[i+63:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Truncate16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, xmm" name="VPMOVQW" xed="VPMOVQW_MEMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 8*j
	dst[k+7:k] := Saturate8(a[i+31:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, ymm" name="VPMOVSDB" xed="VPMOVSDB_MEMi8_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 8*j
	dst[k+7:k] := Saturate8(a[i+31:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, xmm" name="VPMOVSDB" xed="VPMOVSDB_MEMi8_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 16*j
	dst[k+15:k] := Saturate16(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVSDW" xed="VPMOVSDW_XMMi16_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVSDW" xed="VPMOVSDW_XMMi16_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI16" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Saturate16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVSDW" xed="VPMOVSDW_MEMi16_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVSDW" xed="VPMOVSDW_XMMi16_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 16*j
	dst[k+15:k] := Saturate16(a[i+31:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVSDW" xed="VPMOVSDW_XMMi16_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSDW" xed="VPMOVSDW_XMMi16_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI16" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Saturate16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVSDW" xed="VPMOVSDW_MEMi16_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSDW" xed="VPMOVSDW_XMMi16_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 8*j
	dst[k+7:k] := Saturate8(a[i+63:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, ymm" name="VPMOVSQB" xed="VPMOVSQB_MEMi8_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 8*j
	dst[k+7:k] := Saturate8(a[i+63:i])
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="16" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m16 {k}, xmm" name="VPMOVSQB" xed="VPMOVSQB_MEMi8_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 32*j
	dst[k+31:k] := Saturate32(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVSQD" xed="VPMOVSQD_XMMi32_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Saturate32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVSQD" xed="VPMOVSQD_XMMi32_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI32" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := Saturate32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVSQD" xed="VPMOVSQD_MEMi32_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Saturate32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVSQD" xed="VPMOVSQD_XMMi32_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 32*j
	dst[k+31:k] := Saturate32(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVSQD" xed="VPMOVSQD_XMMi32_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Saturate32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSQD" xed="VPMOVSQD_XMMi32_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI32" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := Saturate32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVSQD" xed="VPMOVSQD_MEMi32_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Saturate32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSQD" xed="VPMOVSQD_XMMi32_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 16*j
	dst[k+15:k] := Saturate16(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtsepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI16" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Saturate16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, ymm" name="VPMOVSQW" xed="VPMOVSQW_MEMi16_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_YMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 16*j
	dst[k+15:k] := Saturate16(a[i+63:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI16" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Saturate16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, xmm" name="VPMOVSQW" xed="VPMOVSQW_MEMi16_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_XMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi8_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 8 bytes of "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_YMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi8_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 8 bytes of "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_YMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi8_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 4 bytes of "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_XMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi8_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 4 bytes of "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_XMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi8_epi64" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_YMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi8_epi64" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_YMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi8_epi64" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 2 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_XMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi8_epi64" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 2 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_XMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_epi64" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVSXDQ" xed="VPMOVSXDQ_YMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi32_epi64" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVSXDQ" xed="VPMOVSXDQ_YMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_epi64" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSXDQ" xed="VPMOVSXDQ_XMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi32_epi64" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSXDQ" xed="VPMOVSXDQ_XMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi16_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*16
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVSXWD" xed="VPMOVSXWD_YMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi16_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVSXWD" xed="VPMOVSXWD_YMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi16_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	l := j*16
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSXWD" xed="VPMOVSXWD_XMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi16_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSXWD" xed="VPMOVSXWD_XMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi16_epi64" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_YMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi16_epi64" tech="AVX-512">
	<return etype="SI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_YMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi16_epi64" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_XMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi16_epi64" tech="AVX-512">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_XMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 8*j
	dst[k+7:k] := SaturateU8(a[i+31:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, ymm" name="VPMOVUSDB" xed="VPMOVUSDB_MEMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 8*j
	dst[k+7:k] := SaturateU8(a[i+31:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, xmm" name="VPMOVUSDB" xed="VPMOVUSDB_MEMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 16*j
	dst[k+15:k] := SaturateU16(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVUSDW" xed="VPMOVUSDW_XMMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVUSDW" xed="VPMOVUSDW_XMMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := SaturateU16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVUSDW" xed="VPMOVUSDW_MEMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVUSDW" xed="VPMOVUSDW_XMMu16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 16*j
	dst[k+15:k] := SaturateU16(a[i+31:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVUSDW" xed="VPMOVUSDW_XMMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVUSDW" xed="VPMOVUSDW_XMMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := SaturateU16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVUSDW" xed="VPMOVUSDW_MEMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVUSDW" xed="VPMOVUSDW_XMMu16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 8*j
	dst[k+7:k] := SaturateU8(a[i+63:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, ymm" name="VPMOVUSQB" xed="VPMOVUSQB_MEMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 8*j
	dst[k+7:k] := SaturateU8(a[i+63:i])
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="16" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m16 {k}, xmm" name="VPMOVUSQB" xed="VPMOVUSQB_MEMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 32*j
	dst[k+31:k] := SaturateU32(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVUSQD" xed="VPMOVUSQD_XMMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := SaturateU32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVUSQD" xed="VPMOVUSQD_XMMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI32" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := SaturateU32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, ymm" name="VPMOVUSQD" xed="VPMOVUSQD_MEMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := SaturateU32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVUSQD" xed="VPMOVUSQD_XMMu32_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 32*j
	dst[k+31:k] := SaturateU32(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVUSQD" xed="VPMOVUSQD_XMMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := SaturateU32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVUSQD" xed="VPMOVUSQD_XMMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI32" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := SaturateU32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, xmm" name="VPMOVUSQD" xed="VPMOVUSQD_MEMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := SaturateU32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVUSQD" xed="VPMOVUSQD_XMMu32_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	k := 16*j
	dst[k+15:k] := SaturateU16(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtusepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := SaturateU16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, ymm" name="VPMOVUSQW" xed="VPMOVUSQW_MEMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 16*j
	dst[k+15:k] := SaturateU16(a[i+63:i])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtusepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := SaturateU16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, xmm" name="VPMOVUSQW" xed="VPMOVUSQW_MEMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 8 bytes of "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_YMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 8 bytes of "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_YMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 4 bytes of "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_XMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in th elow 4 bytes of "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_XMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu8_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_YMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu8_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_YMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu8_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 2 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_XMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu8_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 2 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_XMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu32_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVZXDQ" xed="VPMOVZXDQ_YMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu32_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+31:l])
	ELSE 
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVZXDQ" xed="VPMOVZXDQ_YMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu32_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVZXDQ" xed="VPMOVZXDQ_XMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu32_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+31:l])
	ELSE 
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVZXDQ" xed="VPMOVZXDQ_XMMi64_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu16_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVZXWD" xed="VPMOVZXWD_YMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu16_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVZXWD" xed="VPMOVZXWD_YMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu16_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVZXWD" xed="VPMOVZXWD_XMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu16_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVZXWD" xed="VPMOVZXWD_XMMi32_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu16_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_YMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu16_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_YMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu16_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_XMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu16_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in the low 4 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_XMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expandloadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m256" name="VEXPANDPD" xed="VEXPANDPD_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expandloadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VEXPANDPD" xed="VEXPANDPD_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expandloadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VEXPANDPD" xed="VEXPANDPD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expandloadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VEXPANDPD" xed="VEXPANDPD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expandloadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m256" name="VEXPANDPS" xed="VEXPANDPS_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expandloadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VEXPANDPS" xed="VEXPANDPS_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expandloadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VEXPANDPS" xed="VEXPANDPS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expandloadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VEXPANDPS" xed="VEXPANDPS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i32gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm32x" name="VGATHERDPD" xed="VGATHERDPD_YMMf64_MASKmskw_MEMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i32gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, vm32x" name="VGATHERDPD" xed="VGATHERDPD_XMMf64_MASKmskw_MEMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i32gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm32y" name="VGATHERDPS" xed="VGATHERDPS_YMMf32_MASKmskw_MEMf32_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i32gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, vm32x" name="VGATHERDPS" xed="VGATHERDPS_XMMf32_MASKmskw_MEMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i64gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm64y" name="VGATHERQPD" xed="VGATHERQPD_YMMf64_MASKmskw_MEMf64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i64gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, vm64x" name="VGATHERQPD" xed="VGATHERQPD_XMMf64_MASKmskw_MEMf64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i64gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="ymm {k}, vm64y" name="VGATHERQPS" xed="VGATHERQPS_YMMf32_MASKmskw_MEMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i64gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, vm64x" name="VGATHERQPS" xed="VGATHERQPS_XMMf32_MASKmskw_MEMf32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_load_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VMOVAPD" xed="VMOVAPD_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_load_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VMOVAPD" xed="VMOVAPD_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_load_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VMOVAPD" xed="VMOVAPD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_load_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VMOVAPD" xed="VMOVAPD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_load_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m256" name="VMOVAPS" xed="VMOVAPS_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_load_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VMOVAPS" xed="VMOVAPS_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_load_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VMOVAPS" xed="VMOVAPS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_load_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VMOVAPS" xed="VMOVAPS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VMOVDQA32" xed="VMOVDQA32_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VMOVDQA32" xed="VMOVDQA32_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVDQA32" xed="VMOVDQA32_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVDQA32" xed="VMOVDQA32_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VMOVDQA64" xed="VMOVDQA64_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VMOVDQA64" xed="VMOVDQA64_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVDQA64" xed="VMOVDQA64_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVDQA64" xed="VMOVDQA64_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VMOVDQU32" xed="VMOVDQU32_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VMOVDQU32" xed="VMOVDQU32_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVDQU32" xed="VMOVDQU32_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVDQU32" xed="VMOVDQU32_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VMOVDQU64" xed="VMOVDQU64_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VMOVDQU64" xed="VMOVDQU64_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVDQU64" xed="VMOVDQU64_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVDQU64" xed="VMOVDQU64_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_loadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memoy into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VMOVUPD" xed="VMOVUPD_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_loadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memoy into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VMOVUPD" xed="VMOVUPD_YMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_loadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memoy into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVUPD" xed="VMOVUPD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_loadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memoy into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVUPD" xed="VMOVUPD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_loadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VMOVUPS" xed="VMOVUPS_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_loadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VMOVUPS" xed="VMOVUPS_YMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_loadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVUPS" xed="VMOVUPS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_loadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVUPS" xed="VMOVUPS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expandloadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 32-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VPEXPANDD" xed="VPEXPANDD_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expandloadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 32-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VPEXPANDD" xed="VPEXPANDD_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expandloadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 32-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VPEXPANDD" xed="VPEXPANDD_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expandloadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 32-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VPEXPANDD" xed="VPEXPANDD_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expandloadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 64-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m64" name="VPEXPANDQ" xed="VPEXPANDQ_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expandloadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 64-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m64" name="VPEXPANDQ" xed="VPEXPANDQ_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expandloadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 64-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VPEXPANDQ" xed="VPEXPANDQ_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expandloadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 64-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VPEXPANDQ" xed="VPEXPANDQ_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i32gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm32y" name="VPGATHERDD" xed="VPGATHERDD_YMMu32_MASKmskw_MEMu32_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i32gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, vm32x" name="VPGATHERDD" xed="VPGATHERDD_XMMu32_MASKmskw_MEMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i32gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm32x" name="VPGATHERDQ" xed="VPGATHERDQ_YMMu64_MASKmskw_MEMu64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i32gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, vm32x" name="VPGATHERDQ" xed="VPGATHERDQ_XMMu64_MASKmskw_MEMu64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i64gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, vm64y" name="VPGATHERQD" xed="VPGATHERQD_XMMu32_MASKmskw_MEMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i64gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, vm64x" name="VPGATHERQD" xed="VPGATHERQD_XMMu32_MASKmskw_MEMu32_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mmask_i64gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm64y" name="VPGATHERQQ" xed="VPGATHERQQ_YMMu64_MASKmskw_MEMu64_AVX512_VL256" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mmask_i64gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="const int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, vm64x" name="VPGATHERQQ" xed="VPGATHERQQ_XMMu64_MASKmskw_MEMu64_AVX512_VL128" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 4 packed 64-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQU64" xed="VMOVDQU64_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 8 packed 32-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQU32" xed="VMOVDQU32_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 2 packed 64-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="VMOVDQU64" xed="VMOVDQU64_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 4 packed 32-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="VMOVDQU32" xed="VMOVDQU32_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 4 packed 64-bit integers) from memory into "dst".
		"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQA64" xed="VMOVDQA64_YMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 8 packed 32-bit integers) from memory into "dst".
		"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVDQA32" xed="VMOVDQA32_YMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 2 packed 64-bit integers) from memory into "dst".
		"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="VMOVDQA64" xed="VMOVDQA64_XMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 4 packed 32-bit integers) from memory into "dst".
		"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="VMOVDQA32" xed="VMOVDQA32_XMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mov_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Move packed double-precision (64-bit) floating-point elements from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVAPD" xed="VMOVAPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mov_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Move packed double-precision (64-bit) floating-point elements from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVAPD" xed="VMOVAPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mov_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Move packed double-precision (64-bit) floating-point elements from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVAPD" xed="VMOVAPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mov_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Move packed double-precision (64-bit) floating-point elements from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVAPD" xed="VMOVAPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mov_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Move packed single-precision (32-bit) floating-point elements from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVAPS" xed="VMOVAPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mov_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Move packed single-precision (32-bit) floating-point elements from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVAPS" xed="VMOVAPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mov_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Move packed single-precision (32-bit) floating-point elements from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVAPS" xed="VMOVAPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mov_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Move packed single-precision (32-bit) floating-point elements from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVAPS" xed="VMOVAPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_movedup_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[63:0] := a[63:0]
tmp[127:64] := a[63:0]
tmp[191:128] := a[191:128]
tmp[255:192] := a[191:128]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVDDUP" xed="VMOVDDUP_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_movedup_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[63:0] := a[63:0]
tmp[127:64] := a[63:0]
tmp[191:128] := a[191:128]
tmp[255:192] := a[191:128]
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVDDUP" xed="VMOVDDUP_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_movedup_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[63:0] := a[63:0]
tmp[127:64] := a[63:0]
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVDDUP" xed="VMOVDDUP_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_movedup_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[63:0] := a[63:0]
tmp[127:64] := a[63:0]
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVDDUP" xed="VMOVDDUP_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mov_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Move packed 32-bit integers from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVDQA32" xed="VMOVDQA32_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mov_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Move packed 32-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVDQA32" xed="VMOVDQA32_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mov_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Move packed 32-bit integers from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVDQA32" xed="VMOVDQA32_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mov_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Move packed 32-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVDQA32" xed="VMOVDQA32_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mov_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Move packed 64-bit integers from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVDQA64" xed="VMOVDQA64_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mov_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Move packed 64-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVDQA64" xed="VMOVDQA64_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mov_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Move packed 64-bit integers from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVDQA64" xed="VMOVDQA64_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mov_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Move packed 64-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVDQA64" xed="VMOVDQA64_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_movehdup_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[63:32] 
tmp[63:32] := a[63:32] 
tmp[95:64] := a[127:96] 
tmp[127:96] := a[127:96]
tmp[159:128] := a[191:160] 
tmp[191:160] := a[191:160] 
tmp[223:192] := a[255:224] 
tmp[255:224] := a[255:224]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVSHDUP" xed="VMOVSHDUP_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_movehdup_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[63:32] 
tmp[63:32] := a[63:32] 
tmp[95:64] := a[127:96] 
tmp[127:96] := a[127:96]
tmp[159:128] := a[191:160] 
tmp[191:160] := a[191:160] 
tmp[223:192] := a[255:224] 
tmp[255:224] := a[255:224]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVSHDUP" xed="VMOVSHDUP_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_movehdup_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[63:32] 
tmp[63:32] := a[63:32] 
tmp[95:64] := a[127:96] 
tmp[127:96] := a[127:96]
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVSHDUP" xed="VMOVSHDUP_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_movehdup_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[63:32] 
tmp[63:32] := a[63:32] 
tmp[95:64] := a[127:96] 
tmp[127:96] := a[127:96]
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVSHDUP" xed="VMOVSHDUP_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_moveldup_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[31:0] 
tmp[63:32] := a[31:0] 
tmp[95:64] := a[95:64] 
tmp[127:96] := a[95:64]
tmp[159:128] := a[159:128] 
tmp[191:160] := a[159:128] 
tmp[223:192] := a[223:192] 
tmp[255:224] := a[223:192]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VMOVSLDUP" xed="VMOVSLDUP_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_moveldup_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[31:0] 
tmp[63:32] := a[31:0] 
tmp[95:64] := a[95:64] 
tmp[127:96] := a[95:64]
tmp[159:128] := a[159:128] 
tmp[191:160] := a[159:128] 
tmp[223:192] := a[223:192] 
tmp[255:224] := a[223:192]
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VMOVSLDUP" xed="VMOVSLDUP_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_moveldup_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[31:0] 
tmp[63:32] := a[31:0] 
tmp[95:64] := a[95:64] 
tmp[127:96] := a[95:64]
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VMOVSLDUP" xed="VMOVSLDUP_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_moveldup_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[31:0] 
tmp[63:32] := a[31:0] 
tmp[95:64] := a[95:64] 
tmp[127:96] := a[95:64]
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VMOVSLDUP" xed="VMOVSLDUP_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_and_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] AND b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPANDD" xed="VPANDD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_and_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] AND b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPANDD" xed="VPANDD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_and_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] AND b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPANDD" xed="VPANDD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_and_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] AND b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPANDD" xed="VPANDD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_andnot_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise NOT of packed 32-bit integers in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPANDND" xed="VPANDND_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_andnot_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise NOT of packed 32-bit integers in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := (NOT a[i+31:i]) AND b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPANDND" xed="VPANDND_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_andnot_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise NOT of packed 32-bit integers in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPANDND" xed="VPANDND_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_andnot_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise NOT of packed 32-bit integers in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := (NOT a[i+31:i]) AND b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPANDND" xed="VPANDND_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_andnot_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise NOT of packed 64-bit integers in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPANDNQ" xed="VPANDNQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_andnot_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise NOT of packed 64-bit integers in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := (NOT a[i+63:i]) AND b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPANDNQ" xed="VPANDNQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_andnot_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise NOT of packed 64-bit integers in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPANDNQ" xed="VPANDNQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_andnot_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise NOT of packed 64-bit integers in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := (NOT a[i+63:i]) AND b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPANDNQ" xed="VPANDNQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_and_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] AND b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPANDQ" xed="VPANDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_and_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] AND b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPANDQ" xed="VPANDQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_and_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] AND b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPANDQ" xed="VPANDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_and_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] AND b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPANDQ" xed="VPANDQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPORD" xed="VPORD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPORD" xed="VPORD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPORD" xed="VPORD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPORD" xed="VPORD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPORQ" xed="VPORQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPORQ" xed="VPORQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPORQ" xed="VPORQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPORQ" xed="VPORQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using writemask "k" at 32-bit granularity (32-bit elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 7
	i := j*32
	IF k[j]
		FOR h := 0 to 31
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using zeromask "k" at 32-bit granularity (32-bit elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 7
	i := j*32
	IF k[j]
		FOR h := 0 to 31
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst".</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 7
	i := j*32
	FOR h := 0 to 31
		dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using writemask "k" at 32-bit granularity (32-bit elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 3
	i := j*32
	IF k[j]
		FOR h := 0 to 31
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using zeromask "k" at 32-bit granularity (32-bit elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 3
	i := j*32
	IF k[j]
		FOR h := 0 to 31
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst".</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 3
	i := j*32
	FOR h := 0 to 31
		dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using writemask "k" at 64-bit granularity (64-bit elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 3
	i := j*64
	IF k[j]
		FOR h := 0 to 63
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using zeromask "k" at 64-bit granularity (64-bit elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 3
	i := j*64
	IF k[j]
		FOR h := 0 to 63
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst".</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 3
	i := j*64
	FOR h := 0 to 63
		dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using writemask "k" at 64-bit granularity (64-bit elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 1
	i := j*64
	IF k[j]
		FOR h := 0 to 63
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using zeromask "k" at 64-bit granularity (64-bit elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 1
	i := j*64
	IF k[j]
		FOR h := 0 to 63
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst".</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 1
	i := j*64
	FOR h := 0 to 63
		dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPXORD" xed="VPXORD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPXORD" xed="VPXORD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPXORD" xed="VPXORD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPXORD" xed="VPXORD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPXORQ" xed="VPXORQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPXORQ" xed="VPXORQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_mask_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPXORQ" xed="VPXORQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPXORQ" xed="VPXORQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPXORQ" xed="VPXORQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPXORD" xed="VPXORD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPXORQ" xed="VPXORQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPXORD" xed="VPXORD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := a[i+63:i] OR b[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPORQ" xed="VPORQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] OR b[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPORD" xed="VPORD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] OR b[i+63:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPORQ" xed="VPORQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] OR b[i+31:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPORD" xed="VPORD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_set1_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, r32" name="VPBROADCASTD" xed="VPBROADCASTD_YMMu32_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_set1_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, r32" name="VPBROADCASTD" xed="VPBROADCASTD_YMMu32_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_mask_set1_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, r32" name="VPBROADCASTD" xed="VPBROADCASTD_XMMu32_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_set1_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, r32" name="VPBROADCASTD" xed="VPBROADCASTD_XMMu32_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_set1_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, r64" name="VPBROADCASTQ" xed="VPBROADCASTQ_YMMu64_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_set1_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, r64" name="VPBROADCASTQ" xed="VPBROADCASTQ_YMMu64_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_mask_set1_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, r64" name="VPBROADCASTQ" xed="VPBROADCASTQ_XMMu64_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_set1_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, r64" name="VPBROADCASTQ" xed="VPBROADCASTQ_XMMu64_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPROLD" xed="VPROLD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPROLD" xed="VPROLD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPROLD" xed="VPROLD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPROLD" xed="VPROLD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPROLD" xed="VPROLD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VPROLD" xed="VPROLD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPROLQ" xed="VPROLQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPROLQ" xed="VPROLQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPROLQ" xed="VPROLQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPROLQ" xed="VPROLQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPROLQ" xed="VPROLQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VPROLQ" xed="VPROLQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPROLVD" xed="VPROLVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPROLVD" xed="VPROLVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPROLVD" xed="VPROLVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPROLVD" xed="VPROLVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPROLVD" xed="VPROLVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPROLVD" xed="VPROLVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPROLVQ" xed="VPROLVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPROLVQ" xed="VPROLVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPROLVQ" xed="VPROLVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPROLVQ" xed="VPROLVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPROLVQ" xed="VPROLVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPROLVQ" xed="VPROLVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPRORD" xed="VPRORD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPRORD" xed="VPRORD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPRORD" xed="VPRORD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPRORD" xed="VPRORD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPRORD" xed="VPRORD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VPRORD" xed="VPRORD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPRORQ" xed="VPRORQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPRORQ" xed="VPRORQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPRORQ" xed="VPRORQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPRORQ" xed="VPRORQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPRORQ" xed="VPRORQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VPRORQ" xed="VPRORQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPRORVD" xed="VPRORVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPRORVD" xed="VPRORVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPRORVD" xed="VPRORVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPRORVD" xed="VPRORVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPRORVD" xed="VPRORVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPRORVD" xed="VPRORVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPRORVQ" xed="VPRORVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPRORVQ" xed="VPRORVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPRORVQ" xed="VPRORVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPRORVQ" xed="VPRORVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPRORVQ" xed="VPRORVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPRORVQ" xed="VPRORVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sll_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSLLD" xed="VPSLLD_YMMu32_MASKmskw_YMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_slli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSLLD" xed="VPSLLD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sll_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSLLD" xed="VPSLLD_YMMu32_MASKmskw_YMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_slli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSLLD" xed="VPSLLD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sll_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSLLD" xed="VPSLLD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_slli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSLLD" xed="VPSLLD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sll_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSLLD" xed="VPSLLD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_slli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSLLD" xed="VPSLLD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sll_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSLLQ" xed="VPSLLQ_YMMu64_MASKmskw_YMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_slli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSLLQ" xed="VPSLLQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sll_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSLLQ" xed="VPSLLQ_YMMu64_MASKmskw_YMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_slli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSLLQ" xed="VPSLLQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sll_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSLLQ" xed="VPSLLQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_slli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSLLQ" xed="VPSLLQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sll_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSLLQ" xed="VPSLLQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_slli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSLLQ" xed="VPSLLQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sllv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSLLVD" xed="VPSLLVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sllv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSLLVD" xed="VPSLLVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sllv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSLLVD" xed="VPSLLVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sllv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSLLVD" xed="VPSLLVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sllv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSLLVQ" xed="VPSLLVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sllv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSLLVQ" xed="VPSLLVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sllv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSLLVQ" xed="VPSLLVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sllv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSLLVQ" xed="VPSLLVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sra_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSRAD" xed="VPSRAD_YMMu32_MASKmskw_YMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srai_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSRAD" xed="VPSRAD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sra_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSRAD" xed="VPSRAD_YMMu32_MASKmskw_YMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srai_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSRAD" xed="VPSRAD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sra_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRAD" xed="VPSRAD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srai_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSRAD" xed="VPSRAD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sra_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRAD" xed="VPSRAD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srai_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="6" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSRAD" xed="VPSRAD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSRAQ" xed="VPSRAQ_YMMu64_MASKmskw_YMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSRAQ" xed="VPSRAQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSRAQ" xed="VPSRAQ_YMMu64_MASKmskw_YMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSRAQ" xed="VPSRAQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
	ELSE
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, xmm" name="VPSRAQ" xed="VPSRAQ_YMMu64_MASKmskw_YMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
	ELSE
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VPSRAQ" xed="VPSRAQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRAQ" xed="VPSRAQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSRAQ" xed="VPSRAQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRAQ" xed="VPSRAQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="7" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSRAQ" xed="VPSRAQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
	ELSE
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSRAQ" xed="VPSRAQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="7" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
	ELSE
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VPSRAQ" xed="VPSRAQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srav_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSRAVD" xed="VPSRAVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srav_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSRAVD" xed="VPSRAVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srav_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRAVD" xed="VPSRAVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srav_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRAVD" xed="VPSRAVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSRAVQ" xed="VPSRAVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSRAVQ" xed="VPSRAVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
	ELSE
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSRAVQ" xed="VPSRAVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRAVQ" xed="VPSRAVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRAVQ" xed="VPSRAVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
	ELSE
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSRAVQ" xed="VPSRAVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srl_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSRLD" xed="VPSRLD_YMMu32_MASKmskw_YMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSRLD" xed="VPSRLD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srl_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSRLD" xed="VPSRLD_YMMu32_MASKmskw_YMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSRLD" xed="VPSRLD_YMMu32_MASKmskw_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srl_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRLD" xed="VPSRLD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSRLD" xed="VPSRLD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srl_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRLD" xed="VPSRLD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSRLD" xed="VPSRLD_XMMu32_MASKmskw_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srl_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, xmm" name="VPSRLQ" xed="VPSRLQ_YMMu64_MASKmskw_YMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VPSRLQ" xed="VPSRLQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srl_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, xmm" name="VPSRLQ" xed="VPSRLQ_YMMu64_MASKmskw_YMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VPSRLQ" xed="VPSRLQ_YMMu64_MASKmskw_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srl_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRLQ" xed="VPSRLQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VPSRLQ" xed="VPSRLQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srl_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRLQ" xed="VPSRLQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VPSRLQ" xed="VPSRLQ_XMMu64_MASKmskw_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srlv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSRLVD" xed="VPSRLVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srlv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSRLVD" xed="VPSRLVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srlv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRLVD" xed="VPSRLVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srlv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRLVD" xed="VPSRLVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_srlv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSRLVQ" xed="VPSRLVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_srlv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSRLVQ" xed="VPSRLVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_srlv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSRLVQ" xed="VPSRLVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_srlv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSRLVQ" xed="VPSRLVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sqrt_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VSQRTPD" xed="VSQRTPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sqrt_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VSQRTPD" xed="VSQRTPD_YMMf64_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VSQRTPD" xed="VSQRTPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VSQRTPD" xed="VSQRTPD_XMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sqrt_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VSQRTPS" xed="VSQRTPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sqrt_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VSQRTPS" xed="VSQRTPS_YMMf32_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VSQRTPS" xed="VSQRTPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VSQRTPS" xed="VSQRTPS_XMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_aesenclast_epi128" tech="Other">
	<return etype="M128" type="__m512i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="a" />
	<parameter etype="M128" type="__m512i" varname="RoundKey" />
	<description>Perform the last round of an AES encryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst"."</description>
	<operation>FOR j := 0 to 3
	i := j*128
	a[i+127:i] := ShiftRows(a[i+127:i])
	a[i+127:i] := SubBytes(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VAESENCLAST" xed="VAESENCLAST_ZMMu128_ZMMu128_ZMMu128_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>VAES</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm512_aesenc_epi128" tech="Other">
	<return etype="M128" type="__m512i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="a" />
	<parameter etype="M128" type="__m512i" varname="RoundKey" />
	<description>Perform one round of an AES encryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst"."</description>
	<operation>FOR j := 0 to 3
	i := j*128
	a[i+127:i] := ShiftRows(a[i+127:i])
	a[i+127:i] := SubBytes(a[i+127:i])
	a[i+127:i] := MixColumns(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VAESENC" xed="VAESENC_ZMMu128_ZMMu128_ZMMu128_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>VAES</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm512_aesdeclast_epi128" tech="Other">
	<return etype="M128" type="__m512i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="a" />
	<parameter etype="M128" type="__m512i" varname="RoundKey" />
	<description>Perform the last round of an AES decryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*128
	a[i+127:i] := InvShiftRows(a[i+127:i])
	a[i+127:i] := InvSubBytes(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VAESDECLAST" xed="VAESDECLAST_ZMMu128_ZMMu128_ZMMu128_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>VAES</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm512_aesdec_epi128" tech="Other">
	<return etype="M128" type="__m512i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="a" />
	<parameter etype="M128" type="__m512i" varname="RoundKey" />
	<description>Perform one round of an AES decryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*128
	a[i+127:i] := InvShiftRows(a[i+127:i])
	a[i+127:i] := InvSubBytes(a[i+127:i])
	a[i+127:i] := InvMixColumns(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VAESDEC" xed="VAESDEC_ZMMu128_ZMMu128_ZMMu128_AVX512" />
	<CPUID>AVX512F</CPUID>
	<CPUID>VAES</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_maskz_mullo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp[63:0] := a[i+31:i] * b[i+31:i]
		dst[i+31:i] := tmp[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULLD" xed="VPMULLD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VADDPD" xed="VADDPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VADDPD" xed="VADDPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VADDPS" xed="VADDPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VADDPS" xed="VADDPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := a[63:0] + b[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VADDSD" xed="VADDSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] + b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VADDSD" xed="VADDSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Add the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] + b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VADDSD" xed="VADDSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] + b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VADDSD" xed="VADDSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Add the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] + b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VADDSD" xed="VADDSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst[31:0] := a[31:0] + b[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VADDSS" xed="VADDSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
		[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] + b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VADDSS" xed="VADDSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Add the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] + b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VADDSS" xed="VADDSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] + b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VADDSS" xed="VADDSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Add the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] + b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VADDSS" xed="VADDSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	dst[i+63:i] := a[i+63:i] / b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VDIVPD" xed="VDIVPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", =and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	dst[i+63:i] := a[i+63:i] / b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VDIVPD" xed="VDIVPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VDIVPD" xed="VDIVPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VDIVPD" xed="VDIVPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_div_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VDIVPD" xed="VDIVPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_div_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	IF k[j]
		dst[i+63:i] := a[i+63:i] / b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VDIVPD" xed="VDIVPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := a[i+31:i] / b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VDIVPS" xed="VDIVPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := a[i+31:i] / b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VDIVPS" xed="VDIVPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VDIVPS" xed="VDIVPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VDIVPS" xed="VDIVPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_div_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VDIVPS" xed="VDIVPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_div_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := a[i+31:i] / b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VDIVPS" xed="VDIVPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower double-precision (64-bit) floating-point element in "a" by the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
		[round_note]</description>
	<operation>
dst[63:0] := a[63:0] / b[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VDIVSD" xed="VDIVSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower double-precision (64-bit) floating-point element in "a" by the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". 
		[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] / b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VDIVSD" xed="VDIVSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Divide the lower double-precision (64-bit) floating-point element in "a" by the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] / b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VDIVSD" xed="VDIVSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower double-precision (64-bit) floating-point element in "a" by the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] / b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VDIVSD" xed="VDIVSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Divide the lower double-precision (64-bit) floating-point element in "a" by the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] / b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VDIVSD" xed="VDIVSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower single-precision (32-bit) floating-point element in "a" by the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst[31:0] := a[31:0] / b[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VDIVSS" xed="VDIVSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower single-precision (32-bit) floating-point element in "a" by the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
		[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] / b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VDIVSS" xed="VDIVSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Divide the lower single-precision (32-bit) floating-point element in "a" by the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] / b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VDIVSS" xed="VDIVSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower single-precision (32-bit) floating-point element in "a" by the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] / b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VDIVSS" xed="VDIVSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Divide the lower single-precision (32-bit) floating-point element in "a" by the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] / b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VDIVSS" xed="VDIVSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "a" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD132SD" xed="VFMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD213SD" xed="VFMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD231SD" xed="VFMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD132SD" xed="VFMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD213SD" xed="VFMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD231SD" xed="VFMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132SD" xed="VFMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213SD" xed="VFMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231SD" xed="VFMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD132SD" xed="VFMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD213SD" xed="VFMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD231SD" xed="VFMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132SD" xed="VFMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213SD" xed="VFMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231SD" xed="VFMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD132SD" xed="VFMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD213SD" xed="VFMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD231SD" xed="VFMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD132SD" xed="VFMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD213SD" xed="VFMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD231SD" xed="VFMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD132SS" xed="VFMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD213SS" xed="VFMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD231SS" xed="VFMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132SS" xed="VFMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213SS" xed="VFMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231SS" xed="VFMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD132SS" xed="VFMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD213SS" xed="VFMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD231SS" xed="VFMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD132SS" xed="VFMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD213SS" xed="VFMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD231SS" xed="VFMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132SS" xed="VFMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213SS" xed="VFMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231SS" xed="VFMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD132SS" xed="VFMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD213SS" xed="VFMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD231SS" xed="VFMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD132SS" xed="VFMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD213SS" xed="VFMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD231SS" xed="VFMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF ((j &amp; 1) == 0)
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmaddsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF ((j &amp; 1) == 0)
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmaddsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE 
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmaddsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmaddsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmaddsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF ((j &amp; 1) == 0)
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmaddsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF ((j &amp; 1) == 0)
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmaddsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmaddsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmaddsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmaddsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB132SD" xed="VFMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB213SD" xed="VFMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB231SD" xed="VFMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB132SD" xed="VFMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB213SD" xed="VFMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB231SD" xed="VFMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132SD" xed="VFMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213SD" xed="VFMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231SD" xed="VFMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB132SD" xed="VFMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB213SD" xed="VFMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB231SD" xed="VFMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132SD" xed="VFMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213SD" xed="VFMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231SD" xed="VFMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". 
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB132SD" xed="VFMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB213SD" xed="VFMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB231SD" xed="VFMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB132SD" xed="VFMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB213SD" xed="VFMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB231SD" xed="VFMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB132SS" xed="VFMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB213SS" xed="VFMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB231SS" xed="VFMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB132SS" xed="VFMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB213SS" xed="VFMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB231SS" xed="VFMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132SS" xed="VFMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213SS" xed="VFMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231SS" xed="VFMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB132SS" xed="VFMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB213SS" xed="VFMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB231SS" xed="VFMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132SS" xed="VFMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213SS" xed="VFMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231SS" xed="VFMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB132SS" xed="VFMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB213SS" xed="VFMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB231SS" xed="VFMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB132SS" xed="VFMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB213SS" xed="VFMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB231SS" xed="VFMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF ((j &amp; 1) == 0)
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsubadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF ((j &amp; 1) == 0)
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsubadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsubadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsubadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsubadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
		ELSE
			dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF ((j &amp; 1) == 0)
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsubadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF ((j &amp; 1) == 0)
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsubadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsubadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsubadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsubadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
		ELSE
			dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD132SD" xed="VFNMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD213SD" xed="VFNMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD231SD" xed="VFNMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD132SD" xed="VFNMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD213SD" xed="VFNMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD231SD" xed="VFNMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132SD" xed="VFNMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213SD" xed="VFNMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231SD" xed="VFNMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD132SD" xed="VFNMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD213SD" xed="VFNMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD231SD" xed="VFNMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132SD" xed="VFNMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213SD" xed="VFNMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231SD" xed="VFNMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD132SD" xed="VFNMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD213SD" xed="VFNMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD231SD" xed="VFNMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD213SD" xed="VFNMADD213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD231SD" xed="VFNMADD231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD132SD" xed="VFNMADD132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD132SS" xed="VFNMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD213SS" xed="VFNMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD231SS" xed="VFNMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD132SS" xed="VFNMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD213SS" xed="VFNMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD231SS" xed="VFNMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132SS" xed="VFNMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213SS" xed="VFNMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231SS" xed="VFNMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD132SS" xed="VFNMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD213SS" xed="VFNMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD231SS" xed="VFNMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132SS" xed="VFNMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213SS" xed="VFNMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231SS" xed="VFNMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD132SS" xed="VFNMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD213SS" xed="VFNMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD231SS" xed="VFNMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD132SS" xed="VFNMADD132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD213SS" xed="VFNMADD213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD231SS" xed="VFNMADD231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "c" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := c[63:0]
FI
dst[127:64] := c[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", subtract the lower element in "c" from the negated intermediate result, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := c[31:0]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMULPD" xed="VMULPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VMULPD" xed="VMULPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMULPS" xed="VMULPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VMULPS" xed="VMULPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] * b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VMULSD" xed="VMULSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Multiply the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] * b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMULSD" xed="VMULSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] * b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VMULSD" xed="VMULSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Multiply the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] * b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMULSD" xed="VMULSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
		[round_note]</description>
	<operation>
dst[63:0] := a[63:0] * b[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VMULSD" xed="VMULSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] * b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VMULSS" xed="VMULSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Multiply the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] * b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMULSS" xed="VMULSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] * b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VMULSS" xed="VMULSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Multiply the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] * b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMULSS" xed="VMULSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst[31:0] := a[31:0] * b[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VMULSS" xed="VMULSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDD" xed="VPADDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] + b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDQ" xed="VPADDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDQ" xed="VPADDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPADDQ" xed="VPADDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_epi32" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULDQ" xed="VPMULDQ_ZMMi64_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_epi32" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULDQ" xed="VPMULDQ_ZMMi64_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_epi32" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULDQ" xed="VPMULDQ_ZMMi64_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_epu32" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULUDQ" xed="VPMULUDQ_ZMMu64_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_epu32" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULUDQ" xed="VPMULUDQ_ZMMu64_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_epu32" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+31:i] * b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULUDQ" xed="VPMULUDQ_ZMMu64_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBD" xed="VPSUBD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBQ" xed="VPSUBQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSUBQ" xed="VPSUBQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] - b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBQ" xed="VPSUBQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VSUBPD" xed="VSUBPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VSUBPD" xed="VSUBPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VSUBPS" xed="VSUBPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VSUBPS" xed="VSUBPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower double-precision (64-bit) floating-point element in "b" from the lower double-precision (64-bit) floating-point element in "a", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] - b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSUBSD" xed="VSUBSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Subtract the lower double-precision (64-bit) floating-point element in "b" from the lower double-precision (64-bit) floating-point element in "a", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] - b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSUBSD" xed="VSUBSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower double-precision (64-bit) floating-point element in "b" from the lower double-precision (64-bit) floating-point element in "a", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] - b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSUBSD" xed="VSUBSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Subtract the lower double-precision (64-bit) floating-point element in "b" from the lower double-precision (64-bit) floating-point element in "a", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := a[63:0] - b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSUBSD" xed="VSUBSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower double-precision (64-bit) floating-point element in "b" from the lower double-precision (64-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := a[63:0] - b[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSUBSD" xed="VSUBSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower single-precision (32-bit) floating-point element in "b" from the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] - b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSUBSS" xed="VSUBSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Subtract the lower single-precision (32-bit) floating-point element in "b" from the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] - b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSUBSS" xed="VSUBSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower single-precision (32-bit) floating-point element in "b" from the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] - b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSUBSS" xed="VSUBSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Subtract the lower single-precision (32-bit) floating-point element in "b" from the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := a[31:0] - b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSUBSS" xed="VSUBSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower single-precision (32-bit) floating-point element in "b" from the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := a[31:0] - b[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSUBSS" xed="VSUBSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Store 512-bits (composed of 8 packed 64-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQU64" xed="VMOVDQU64_MEMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Store 512-bits (composed of 16 packed 32-bit integers) from "a" into memory.
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQU32" xed="VMOVDQU32_MEMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_store_mask16" tech="AVX-512">
	<return type="void" />
	<parameter etype="MASK" memwidth="16" type="__mmask16*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<description>Store 16-bit mask from "a" into memory.</description>
	<operation>
MEM[mem_addr+15:mem_addr] := a[15:0]
	</operation>
	<instruction form="m16, k" name="KMOVW" xed="KMOVW_MEMu16_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compressstoreu_pd" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="FP64" memwidth="512" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 64
m := base_addr
FOR j := 0 to 7
	i := j*64
	IF k[j]
		MEM[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VCOMPRESSPD" xed="VCOMPRESSPD_MEMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compressstoreu_ps" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="FP32" memwidth="512" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 32
m := base_addr
FOR j := 0 to 15
	i := j*32
	IF k[j]
		MEM[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VCOMPRESSPS" xed="VCOMPRESSPS_MEMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_storeu_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVDQU32" xed="VMOVDQU32_MEMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_si512" tech="AVX-512">
	<return type="void" />
	<parameter etype="M512" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="M512" type="__m512i" varname="a" />
	<description>Store 512-bits of integer data from "a" into memory.
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQU32" xed="VMOVDQU32_MEMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_storeu_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVDQU64" xed="VMOVDQU64_MEMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_stream_si512" tech="AVX-512">
	<return type="void" />
	<parameter etype="M512" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="M512" type="__m512i" varname="a" />
	<description>Store 512-bits of integer data from "a" into memory using a non-temporal memory hint. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVNTDQ" xed="VMOVNTDQ_MEMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_stream_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Store 512-bits (composed of 8 packed double-precision (64-bit) floating-point elements) from "a" into memory using a non-temporal memory hint. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVNTPD" xed="VMOVNTPD_MEMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_stream_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Store 512-bits (composed of 16 packed single-precision (32-bit) floating-point elements) from "a" into memory using a non-temporal memory hint. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVNTPS" xed="VMOVNTPS_MEMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_store_sd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="64" type="double*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store the lower double-precision (64-bit) floating-point element from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
IF k[0]
	MEM[mem_addr+63:mem_addr] := a[63:0]
FI
	</operation>
	<instruction form="m64 {k}, xmm" name="VMOVSD" xed="VMOVSD_MEMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_store_ss" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="32" type="float*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store the lower single-precision (32-bit) floating-point element from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
IF k[0]
	MEM[mem_addr+31:mem_addr] := a[31:0]
FI
	</operation>
	<instruction form="m32 {k}, xmm" name="VMOVSS" xed="VMOVSS_MEMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_storeu_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVUPD" xed="VMOVUPD_MEMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Store 512-bits (composed of 8 packed double-precision (64-bit) floating-point elements) from "a" into memory. 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVUPD" xed="VMOVUPD_MEMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_storeu_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVUPS" xed="VMOVUPS_MEMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Store 512-bits (composed of 16 packed single-precision (32-bit) floating-point elements) from "a" into memory. 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVUPS" xed="VMOVUPS_MEMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compressstoreu_epi32" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI32" memwidth="512" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 32
m := base_addr
FOR j := 0 to 15
	i := j*32
	IF k[j]
		MEM[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m32 {k}, zmm" name="VPCOMPRESSD" xed="VPCOMPRESSD_MEMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compressstoreu_epi64" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI64" memwidth="512" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 64
m := base_addr
FOR j := 0 to 7
	i := j*64
	IF k[j]
		MEM[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, zmm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_MEMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i32scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm32y, zmm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32y {k}, zmm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i64scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm64z, ymm" name="VPSCATTERQD" xed="VPSCATTERQD_MEMu32_MASKmskw_YMMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64z {k}, ymm" name="VPSCATTERQD" xed="VPSCATTERQD_MEMu32_MASKmskw_YMMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i64scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm64z, zmm" name="VPSCATTERQQ" xed="VPSCATTERQQ_MEMu64_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64scatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 64-bit integers from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm64z {k}, zmm" name="VPSCATTERQQ" xed="VPSCATTERQQ_MEMu64_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i32scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm32y, zmm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32y {k}, zmm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i64scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="vm32z, zmm" name="VSCATTERQPD" xed="VSCATTERQPD_MEMf64_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64scatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter double-precision (64-bit) floating-point elements from "a" into memory using 64-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32z {k}, zmm" name="VSCATTERQPD" xed="VSCATTERQPD_MEMf64_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i64scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm32z, ymm" name="VSCATTERQPS" xed="VSCATTERQPS_MEMf32_MASKmskw_YMMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32z {k}, ymm" name="VSCATTERQPS" xed="VSCATTERQPS_MEMf32_MASKmskw_YMMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mullox_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Multiplies elements in packed 64-bit integer vectors "a" and "b" together, storing the lower 64 bits of the result in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] * b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mullox_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Multiplies elements in packed 64-bit integer vectors "a" and "b" together, storing the lower 64 bits of the result in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 8 packed 64-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQU64" xed="VMOVDQU64_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 16 packed 32-bit integers) from memory into "dst".
		"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQU32" xed="VMOVDQU32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_load_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" memwidth="16" type="__mmask16*" varname="mem_addr" />
	<description>Load 16-bit mask from memory into "k".</description>
	<operation>
k[15:0] := MEM[mem_addr+15:mem_addr]
	</operation>
	<instruction form="k, m16" name="KMOVW" xed="KMOVW_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expandloadu_pd" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VEXPANDPD" xed="VEXPANDPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expandloadu_pd" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VEXPANDPD" xed="VEXPANDPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expandloadu_ps" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VEXPANDPS" xed="VEXPANDPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expandloadu_ps" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VEXPANDPS" xed="VEXPANDPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i32gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, vm32y" name="VGATHERDPD" xed="VGATHERDPD_ZMMf64_MASKmskw_MEMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, vm32y" name="VGATHERDPD" xed="VGATHERDPD_ZMMf64_MASKmskw_MEMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i64gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, vm32z" name="VGATHERQPD" xed="VGATHERQPD_ZMMf64_MASKmskw_MEMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64gather_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather double-precision (64-bit) floating-point elements from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, vm32z" name="VGATHERQPD" xed="VGATHERQPD_ZMMf64_MASKmskw_MEMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i64gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm64z" name="VGATHERQPS" xed="VGATHERQPS_YMMf32_MASKmskw_MEMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm64z" name="VGATHERQPS" xed="VGATHERQPS_YMMf32_MASKmskw_MEMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_load_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVAPD" xed="VMOVAPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_load_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVAPS" xed="VMOVAPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVDQA32" xed="VMOVDQA32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVDQA64" xed="VMOVDQA64_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits of integer data from memory into "dst".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQU32" xed="VMOVDQU32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVDQU32" xed="VMOVDQU32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_loadu_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVDQU32" xed="VMOVDQU32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVDQU64" xed="VMOVDQU64_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_loadu_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVDQU64" xed="VMOVDQU64_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_stream_load_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits of integer data from memory into "dst" using a non-temporal memory hint. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVNTDQA" xed="VMOVNTDQA_ZMMu32_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_load_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="64" type="const double*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and set the upper element of "dst" to zero. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
IF k[0]
	dst[63:0] := MEM[mem_addr+63:mem_addr]
ELSE
	dst[63:0] := src[63:0]
FI
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVSD" xed="VMOVSD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_load_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="64" type="const double*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and set the upper element of "dst" to zero. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
IF k[0]
	dst[63:0] := MEM[mem_addr+63:mem_addr]
ELSE
	dst[63:0] := 0
FI
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVSD" xed="VMOVSD_XMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_load_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="32" type="const float*" varname="mem_addr" />
	<description>Load a single-precision (32-bit) floating-point element from memory into the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and set the upper elements of "dst" to zero. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
IF k[0]
	dst[31:0] := MEM[mem_addr+31:mem_addr]
ELSE
	dst[31:0] := src[31:0]
FI
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, m32" name="VMOVSS" xed="VMOVSS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_load_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" memwidth="32" type="const float*" varname="mem_addr" />
	<description>Load a single-precision (32-bit) floating-point element from memory into the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and set the upper elements of "dst" to zero. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
IF k[0]
	dst[31:0] := MEM[mem_addr+31:mem_addr]
ELSE
	dst[31:0] := 0
FI
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, m32" name="VMOVSS" xed="VMOVSS_XMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 8 packed double-precision (64-bit) floating-point elements) from memory into "dst". 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVUPD" xed="VMOVUPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_loadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memoy into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVUPD" xed="VMOVUPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_loadu_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memoy into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVUPD" xed="VMOVUPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 16 packed single-precision (32-bit) floating-point elements) from memory into "dst". 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVUPS" xed="VMOVUPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_loadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVUPS" xed="VMOVUPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_loadu_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VMOVUPS" xed="VMOVUPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expandloadu_epi32" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 32-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m32" name="VPEXPANDD" xed="VPEXPANDD_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expandloadu_epi32" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 32-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+m+31:mem_addr+m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m32" name="VPEXPANDD" xed="VPEXPANDD_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expandloadu_epi64" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 64-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m64" name="VPEXPANDQ" xed="VPEXPANDQ_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expandloadu_epi64" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load contiguous active 64-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+m+63:mem_addr+m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m64" name="VPEXPANDQ" xed="VPEXPANDQ_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i32gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, vm32y" name="VPGATHERDQ" xed="VPGATHERDQ_ZMMu64_MASKmskw_MEMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 64-bit integers from memory using 32-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, vm32y" name="VPGATHERDQ" xed="VPGATHERDQ_ZMMu64_MASKmskw_MEMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i64gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, vm64z" name="VPGATHERQD" xed="VPGATHERQD_YMMu32_MASKmskw_MEMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, vm64z" name="VPGATHERQD" xed="VPGATHERQD_YMMu32_MASKmskw_MEMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i64gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, vm64z" name="VPGATHERQQ" xed="VPGATHERQQ_ZMMu64_MASKmskw_MEMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i64gather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 64-bit integers from memory using 64-bit indices. 64-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*64
	IF k[j]
		addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, vm64z" name="VPGATHERQQ" xed="VPGATHERQQ_ZMMu64_MASKmskw_MEMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_kand_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise AND of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := a[15:0] AND b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KANDW" xed="KANDW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kandn_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise NOT of 16-bit masks "a" and then AND with "b", and store the result in "k".</description>
	<operation>
k[15:0] := (NOT a[15:0]) AND b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KANDNW" xed="KANDNW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_knot_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<description>Compute the bitwise NOT of 16-bit mask "a", and store the result in "k".</description>
	<operation>
k[15:0] := NOT a[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k" name="KNOTW" xed="KNOTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kor_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise OR of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := a[15:0] OR b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KORW" xed="KORW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxnor_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise XNOR of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := NOT (a[15:0] XOR b[15:0])
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KXNORW" xed="KXNORW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kxor_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise XOR of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := a[15:0] XOR b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KXORW" xed="KXORW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftli_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 16-bit mask "a" left by "count" while shifting in zeros, and store the least significant 16 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 15
	k[15:0] := a[15:0] &lt;&lt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTLW" xed="KSHIFTLW_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kshiftri_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="count" />
	<description>Shift the bits of 16-bit mask "a" right by "count" while shifting in zeros, and store the least significant 16 bits of the result in "k".</description>
	<operation>
k[MAX:0] := 0
IF count[7:0] &lt;= 15
	k[15:0] := a[15:0] &gt;&gt; count[7:0]
FI
	</operation>
	<instruction form="k, k, imm8" name="KSHIFTRW" xed="KSHIFTRW_MASKmskw_MASKmskw_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortest_mask16_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<parameter etype="UI8" memwidth="8" type="unsigned char*" varname="all_ones" />
	<description>Compute the bitwise OR of 16-bit masks "a" and "b". If the result is all zeros, store 1 in "dst", otherwise store 0 in "dst". If the result is all ones, store 1 in "all_ones", otherwise store 0 in "all_ones".</description>
	<operation>
tmp[15:0] := a[15:0] OR b[15:0]
IF tmp[15:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
IF tmp[15:0] == 0xFFFF
	MEM[all_ones+7:all_ones] := 1
ELSE
	MEM[all_ones+7:all_ones] := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTW" xed="KORTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestz_mask16_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise OR of 16-bit masks "a" and "b". If the result is all zeroes, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[15:0] := a[15:0] OR b[15:0]
IF tmp[15:0] == 0x0
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTW" xed="KORTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_kortestc_mask16_u8" tech="AVX-512">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise OR of 16-bit masks "a" and "b". If the result is all ones, store 1 in "dst", otherwise store 0 in "dst".</description>
	<operation>
tmp[15:0] := a[15:0] OR b[15:0]
IF tmp[15:0] == 0xFFFF
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="k, k" name="KORTESTW" xed="KORTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtmask16_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<description>Convert 16-bit mask "a" into an integer value, and store the result in "dst".</description>
	<operation>
dst := ZeroExtend32(a[15:0])
	</operation>
	<instruction form="r32, k" name="KMOVW" xed="KMOVW_GPR32u32_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_cvtu32_mask16" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="unsigned int" varname="a" />
	<description>Convert integer value "a" into an 16-bit mask, and store the result in "k".</description>
	<operation>
k := ZeroExtend16(a[15:0])
	</operation>
	<instruction form="k, r32" name="KMOVW" xed="KMOVW_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kandn" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise NOT of 16-bit masks "a" and then AND with "b", and store the result in "k".</description>
	<operation>
k[15:0] := (NOT a[15:0]) AND b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KANDNW" xed="KANDNW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kand" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise AND of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := a[15:0] AND b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KANDW" xed="KANDW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kmov" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<description>Copy 16-bit mask "a" to "k".</description>
	<operation>
k[15:0] := a[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k" name="KMOVW" xed="KMOVW_MASKmskw_MASKu16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_knot" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<description>Compute the bitwise NOT of 16-bit mask "a", and store the result in "k".</description>
	<operation>
k[15:0] := NOT a[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k" name="KNOTW" xed="KNOTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kor" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise OR of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := a[15:0] OR b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KORW" xed="KORW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kunpackb" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Unpack and interleave 8 bits from masks "a" and "b", and store the 16-bit result in "k".</description>
	<operation>
k[7:0] := b[7:0]
k[15:8] := a[7:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KUNPCKBW" xed="KUNPCKBW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kxnor" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise XNOR of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := NOT (a[15:0] XOR b[15:0])
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KXNORW" xed="KXNORW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kxor" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="b" />
	<description>Compute the bitwise XOR of 16-bit masks "a" and "b", and store the result in "k".</description>
	<operation>
k[15:0] := a[15:0] XOR b[15:0]
k[MAX:16] := 0
	</operation>
	<instruction form="k, k, k" name="KXORW" xed="KXORW_MASKmskw_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kortestz" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="MASK" type="__mmask16" varname="k2" />
	<description>Performs bitwise OR between "k1" and "k2", storing the result in "dst". ZF flag is set if "dst" is 0.</description>
	<operation>dst[15:0] := k1[15:0] | k2[15:0]
IF dst == 0
	SetZF()
FI
	</operation>
	<instruction form="k, k" name="KORTESTW" xed="KORTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_kortestc" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="MASK" type="__mmask16" varname="k2" />
	<description>Performs bitwise OR between "k1" and "k2", storing the result in "dst". CF flag is set if "dst" consists of all 1's.</description>
	<operation>dst[15:0] := k1[15:0] | k2[15:0]
IF PopCount(dst[15:0]) == 16
	SetCF()
FI
	</operation>
	<instruction form="k, k" name="KORTESTW" xed="KORTESTW_MASKmskw_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_mask2int" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<description>Converts bit mask "k1" into an integer value, storing the results in "dst".</description>
	<operation>
dst := ZeroExtend32(k1)
	</operation>
	<instruction form="r32, k" name="KMOVW" xed="KMOVW_GPR32u32_MASKmskw_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_int2mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="dst" />
	<parameter etype="UI16" type="int" varname="mask" />
	<description>Converts integer "mask" into bitmask, storing the result in "dst".</description>
	<operation>
dst := mask[15:0]
	</operation>
	<instruction form="k, r32" name="KMOVW" xed="KMOVW_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 128-byte immediate result, shift the result right by "imm8" 32-bit elements, and stores the low 64 bytes (16 elements) in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
temp[1023:512] := a[511:0]
temp[511:0] := b[511:0]
temp[1023:0] := temp[1023:0] &gt;&gt; (32*imm8[3:0])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := temp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VALIGND" xed="VALIGND_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 128-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 64 bytes (8 elements) in "dst".</description>
	<operation>
temp[1023:512] := a[511:0]
temp[511:0] := b[511:0]
temp[1023:0] := temp[1023:0] &gt;&gt; (64*imm8[2:0])
dst[511:0] := temp[511:0]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VALIGNQ" xed="VALIGNQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 128-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 64 bytes (8 elements) in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
temp[1023:512] := a[511:0]
temp[511:0] := b[511:0]
temp[1023:0] := temp[1023:0] &gt;&gt; (64*imm8[2:0])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := temp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VALIGNQ" xed="VALIGNQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_alignr_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="3" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 128-byte immediate result, shift the result right by "imm8" 64-bit elements, and stores the low 64 bytes (8 elements) in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
temp[1023:512] := a[511:0]
temp[511:0] := b[511:0]
temp[1023:0] := temp[1023:0] &gt;&gt; (64*imm8[2:0])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := temp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VALIGNQ" xed="VALIGNQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_fixupimm_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8 {sae}" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fixupimm_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8 {sae}" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fixupimm_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fixupimm_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up packed double-precision (64-bit) floating-point elements in "a" and "b" using packed 64-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := FIXUPIMMPD(a[i+63:i], b[i+63:i], c[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8 {sae}" name="VFIXUPIMMPD" xed="VFIXUPIMMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_fixupimm_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8 {sae}" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fixupimm_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8 {sae}" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fixupimm_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fixupimm_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up packed single-precision (32-bit) floating-point elements in "a" and "b" using packed 32-bit integers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := FIXUPIMMPD(a[i+31:i], b[i+31:i], c[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8 {sae}" name="VFIXUPIMMPS" xed="VFIXUPIMMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fixupimm_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up the lower double-precision (64-bit) floating-point elements in "a" and "b" using the lower 64-bit integer in "c", store the result in the lower element of "dst", and copy the upper element from "b" to the upper element of "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
dst[63:0] := FIXUPIMMPD(a[63:0], b[63:0], c[63:0], imm8[7:0])
dst[127:64] := b[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8 {sae}" name="VFIXUPIMMSD" xed="VFIXUPIMMSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fixupimm_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up the lower double-precision (64-bit) floating-point elements in "a" and "b" using the lower 64-bit integer in "c", store the result in the lower element of "dst", and copy the upper element from "b" to the upper element of "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
dst[63:0] := FIXUPIMMPD(a[63:0], b[63:0], c[63:0], imm8[7:0])
dst[127:64] := b[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VFIXUPIMMSD" xed="VFIXUPIMMSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fixupimm_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up the lower double-precision (64-bit) floating-point elements in "a" and "b" using the lower 64-bit integer in "c", store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "b" to the upper element of "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
IF k[0]
	dst[63:0] := FIXUPIMMPD(a[63:0], b[63:0], c[63:0], imm8[7:0])
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := b[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8 {sae}" name="VFIXUPIMMSD" xed="VFIXUPIMMSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fixupimm_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up the lower double-precision (64-bit) floating-point elements in "a" and "b" using the lower 64-bit integer in "c", store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper element from "b" to the upper element of "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
IF k[0]
	dst[63:0] := FIXUPIMMPD(a[63:0], b[63:0], c[63:0], imm8[7:0])
ELSE
	dst[63:0] := a[63:0]
FI
dst[127:64] := b[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VFIXUPIMMSD" xed="VFIXUPIMMSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fixupimm_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up the lower double-precision (64-bit) floating-point elements in "a" and "b" using the lower 64-bit integer in "c", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "b" to the upper element of "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
IF k[0]
	dst[63:0] := FIXUPIMMPD(a[63:0], b[63:0], c[63:0], imm8[7:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := b[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8 {sae}" name="VFIXUPIMMSD" xed="VFIXUPIMMSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fixupimm_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up the lower double-precision (64-bit) floating-point elements in "a" and "b" using the lower 64-bit integer in "c", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "b" to the upper element of "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[63:0], src2[63:0], src3[63:0], imm8[7:0]) {
	tsrc[63:0] := ((src2[62:52] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[63:0]
	CASE(tsrc[63:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[63:0] := src1[63:0]
	1 : dest[63:0] := tsrc[63:0]
	2 : dest[63:0] := QNaN(tsrc[63:0])
	3 : dest[63:0] := QNAN_Indefinite
	4 : dest[63:0] := -INF
	5 : dest[63:0] := +INF
	6 : dest[63:0] := tsrc.sign? -INF : +INF
	7 : dest[63:0] := -0
	8 : dest[63:0] := +0
	9 : dest[63:0] := -1
	10: dest[63:0] := +1
	11: dest[63:0] := 1/2
	12: dest[63:0] := 90.0
	13: dest[63:0] := PI/2
	14: dest[63:0] := MAX_FLOAT
	15: dest[63:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[63:0]
}
IF k[0]
	dst[63:0] := FIXUPIMMPD(a[63:0], b[63:0], c[63:0], imm8[7:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := b[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VFIXUPIMMSD" xed="VFIXUPIMMSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fixupimm_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up the lower single-precision (32-bit) floating-point elements in "a" and "b" using the lower 32-bit integer in "c", store the result in the lower element of "dst", and copy the upper 3 packed elements from "b" to the upper elements of "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
dst[31:0] := FIXUPIMMPD(a[31:0], b[31:0], c[31:0], imm8[7:0])
dst[127:32] := b[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8 {sae}" name="VFIXUPIMMSS" xed="VFIXUPIMMSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fixupimm_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up the lower single-precision (32-bit) floating-point elements in "a" and "b" using the lower 32-bit integer in "c", store the result in the lower element of "dst", and copy the upper 3 packed elements from "b" to the upper elements of "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
dst[31:0] := FIXUPIMMPD(a[31:0], b[31:0], c[31:0], imm8[7:0])
dst[127:32] := b[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VFIXUPIMMSS" xed="VFIXUPIMMSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fixupimm_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up the lower single-precision (32-bit) floating-point elements in "a" and "b" using the lower 32-bit integer in "c", store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "b" to the upper elements of "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
IF k[0]
	dst[31:0] := FIXUPIMMPD(a[31:0], b[31:0], c[31:0], imm8[7:0])
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := b[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8 {sae}" name="VFIXUPIMMSS" xed="VFIXUPIMMSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fixupimm_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up the lower single-precision (32-bit) floating-point elements in "a" and "b" using the lower 32-bit integer in "c", store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 3 packed elements from "b" to the upper elements of "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
IF k[0]
	dst[31:0] := FIXUPIMMPD(a[31:0], b[31:0], c[31:0], imm8[7:0])
ELSE
	dst[31:0] := a[31:0]
FI
dst[127:32] := b[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VFIXUPIMMSS" xed="VFIXUPIMMSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fixupimm_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Fix up the lower single-precision (32-bit) floating-point elements in "a" and "b" using the lower 32-bit integer in "c", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "b" to the upper elements of "dst". "imm8" is used to set the required flags reporting.
	[sae_note]</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
IF k[0]
	dst[31:0] := FIXUPIMMPD(a[31:0], b[31:0], c[31:0], imm8[7:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := b[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8 {sae}" name="VFIXUPIMMSS" xed="VFIXUPIMMSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fixupimm_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Fix up the lower single-precision (32-bit) floating-point elements in "a" and "b" using the lower 32-bit integer in "c", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "b" to the upper elements of "dst". "imm8" is used to set the required flags reporting.</description>
	<operation>enum TOKEN_TYPE {
	QNAN_TOKEN := 0, \
	SNAN_TOKEN := 1, \
	ZERO_VALUE_TOKEN := 2, \
	ONE_VALUE_TOKEN := 3, \
	NEG_INF_TOKEN := 4, \
	POS_INF_TOKEN := 5, \
	NEG_VALUE_TOKEN := 6, \
	POS_VALUE_TOKEN := 7
}
DEFINE FIXUPIMMPD(src1[31:0], src2[31:0], src3[31:0], imm8[7:0]) {
	tsrc[31:0] := ((src2[30:23] == 0) AND (MXCSR.DAZ == 1)) ? 0.0 : src2[31:0]
	CASE(tsrc[31:0]) OF
	QNAN_TOKEN:j := 0
	SNAN_TOKEN:j := 1
	ZERO_VALUE_TOKEN: j := 2
	ONE_VALUE_TOKEN: j := 3
	NEG_INF_TOKEN: j := 4
	POS_INF_TOKEN: j := 5
	NEG_VALUE_TOKEN: j := 6
	POS_VALUE_TOKEN: j := 7
	ESAC
	
	token_response[3:0] := src3[3+4*j:4*j]
	
	CASE(token_response[3:0]) OF
	0 : dest[31:0] := src1[31:0]
	1 : dest[31:0] := tsrc[31:0]
	2 : dest[31:0] := QNaN(tsrc[31:0])
	3 : dest[31:0] := QNAN_Indefinite
	4 : dest[31:0] := -INF
	5 : dest[31:0] := +INF
	6 : dest[31:0] := tsrc.sign? -INF : +INF
	7 : dest[31:0] := -0
	8 : dest[31:0] := +0
	9 : dest[31:0] := -1
	10: dest[31:0] := +1
	11: dest[31:0] := 1/2
	12: dest[31:0] := 90.0
	13: dest[31:0] := PI/2
	14: dest[31:0] := MAX_FLOAT
	15: dest[31:0] := -MAX_FLOAT
	ESAC
	
	CASE(tsrc[31:0]) OF
	ZERO_VALUE_TOKEN:
		IF (imm8[0]) #ZE; FI
	ZERO_VALUE_TOKEN:
		IF (imm8[1]) #IE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[2]) #ZE; FI
	ONE_VALUE_TOKEN:
		IF (imm8[3]) #IE; FI
	SNAN_TOKEN:
		IF (imm8[4]) #IE; FI
	NEG_INF_TOKEN:
		IF (imm8[5]) #IE; FI
	NEG_VALUE_TOKEN:
		IF (imm8[6]) #IE; FI
	POS_INF_TOKEN:
		IF (imm8[7]) #IE; FI
	ESAC
	RETURN dest[31:0]
}
IF k[0]
	dst[31:0] := FIXUPIMMPD(a[31:0], b[31:0], c[31:0], imm8[7:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := b[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VFIXUPIMMSS" xed="VFIXUPIMMSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VGETEXPPD" xed="VGETEXPPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getexp_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.
	[sae_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VGETEXPPD" xed="VGETEXPPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VGETEXPPS" xed="VGETEXPPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getexp_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.
	[sae_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VGETEXPPS" xed="VGETEXPPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of the lower double-precision (64-bit) floating-point element in "b" to a double-precision (64-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.
	[sae_note]</description>
	<operation>dst[63:0] := ConvertExpFP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VGETEXPSD" xed="VGETEXPSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the exponent of the lower double-precision (64-bit) floating-point element in "b" to a double-precision (64-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>dst[63:0] := ConvertExpFP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VGETEXPSD" xed="VGETEXPSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of the lower double-precision (64-bit) floating-point element in "b" to a double-precision (64-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.
	[sae_note]</description>
	<operation>IF k[0]
	dst[63:0] := ConvertExpFP64(b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VGETEXPSD" xed="VGETEXPSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the exponent of the lower double-precision (64-bit) floating-point element in "b" to a double-precision (64-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>IF k[0]
	dst[63:0] := ConvertExpFP64(b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VGETEXPSD" xed="VGETEXPSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of the lower double-precision (64-bit) floating-point element in "b" to a double-precision (64-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.
	[sae_note]</description>
	<operation>IF k[0]
	dst[63:0] := ConvertExpFP64(b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VGETEXPSD" xed="VGETEXPSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the exponent of the lower double-precision (64-bit) floating-point element in "b" to a double-precision (64-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>IF k[0]
	dst[63:0] := ConvertExpFP64(b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VGETEXPSD" xed="VGETEXPSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of the lower single-precision (32-bit) floating-point element in "b" to a single-precision (32-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.
	[sae_note]</description>
	<operation>dst[31:0] := ConvertExpFP32(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VGETEXPSS" xed="VGETEXPSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the exponent of the lower single-precision (32-bit) floating-point element in "b" to a single-precision (32-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>dst[31:0] := ConvertExpFP32(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VGETEXPSS" xed="VGETEXPSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of the lower single-precision (32-bit) floating-point element in "b" to a single-precision (32-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.
	[sae_note]</description>
	<operation>IF k[0]
	dst[31:0] := ConvertExpFP32(b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VGETEXPSS" xed="VGETEXPSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the exponent of the lower single-precision (32-bit) floating-point element in "b" to a single-precision (32-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>IF k[0]
	dst[31:0] := ConvertExpFP32(b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VGETEXPSS" xed="VGETEXPSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of the lower single-precision (32-bit) floating-point element in "b" to a single-precision (32-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.
	[sae_note]</description>
	<operation>IF k[0]
	dst[31:0] := ConvertExpFP32(b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VGETEXPSS" xed="VGETEXPSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the exponent of the lower single-precision (32-bit) floating-point element in "b" to a single-precision (32-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>IF k[0]
	dst[31:0] := ConvertExpFP32(b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VGETEXPSS" xed="VGETEXPSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VGETMANTPD" xed="VGETMANTPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getmant_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8 {sae}" name="VGETMANTPD" xed="VGETMANTPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VGETMANTPS" xed="VGETMANTPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getmant_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8 {sae}" name="VGETMANTPS" xed="VGETMANTPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>dst[63:0] := GetNormalizedMantissa(b[63:0], sc, interv)
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8 {sae}" name="VGETMANTSD" xed="VGETMANTSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>dst[63:0] := GetNormalizedMantissa(b[63:0], sc, interv)
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VGETMANTSD" xed="VGETMANTSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>IF k[0]
	dst[63:0] := GetNormalizedMantissa(b[63:0], sc, interv)
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8 {sae}" name="VGETMANTSD" xed="VGETMANTSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>IF k[0]
	dst[63:0] := GetNormalizedMantissa(b[63:0], sc, interv)
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VGETMANTSD" xed="VGETMANTSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>IF k[0]
	dst[63:0] := GetNormalizedMantissa(b[63:0], sc, interv)
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8 {sae}" name="VGETMANTSD" xed="VGETMANTSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>IF k[0]
	dst[63:0] := GetNormalizedMantissa(b[63:0], sc, interv)
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VGETMANTSD" xed="VGETMANTSD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>dst[31:0] := GetNormalizedMantissa(b[31:0], sc, interv)
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8 {sae}" name="VGETMANTSS" xed="VGETMANTSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>dst[31:0] := GetNormalizedMantissa(b[31:0], sc, interv)
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VGETMANTSS" xed="VGETMANTSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>IF k[0]
	dst[31:0] := GetNormalizedMantissa(b[31:0], sc, interv)
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8 {sae}" name="VGETMANTSS" xed="VGETMANTSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>IF k[0]
	dst[31:0] := GetNormalizedMantissa(b[31:0], sc, interv)
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VGETMANTSS" xed="VGETMANTSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>IF k[0]
	dst[31:0] := GetNormalizedMantissa(b[31:0], sc, interv)
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8 {sae}" name="VGETMANTSS" xed="VGETMANTSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>IF k[0]
	dst[31:0] := GetNormalizedMantissa(b[31:0], sc, interv)
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VGETMANTSS" xed="VGETMANTSS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPRORVD" xed="VPRORVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_roundscale_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8 {sae}" name="VRNDSCALEPD" xed="VRNDSCALEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_roundscale_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8 {sae}" name="VRNDSCALEPD" xed="VRNDSCALEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_roundscale_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VRNDSCALEPD" xed="VRNDSCALEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_roundscale_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Round packed double-precision (64-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := RoundScaleFP64(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8 {sae}" name="VRNDSCALEPD" xed="VRNDSCALEPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_roundscale_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8 {sae}" name="VRNDSCALEPS" xed="VRNDSCALEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_roundscale_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8 {sae}" name="VRNDSCALEPS" xed="VRNDSCALEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_roundscale_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VRNDSCALEPS" xed="VRNDSCALEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_roundscale_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Round packed single-precision (32-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := RoundScaleFP32(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8 {sae}" name="VRNDSCALEPS" xed="VRNDSCALEPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := RoundScaleFP64(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8 {sae}" name="VRNDSCALESD" xed="VRNDSCALESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := RoundScaleFP64(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VRNDSCALESD" xed="VRNDSCALESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := RoundScaleFP64(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8 {sae}" name="VRNDSCALESD" xed="VRNDSCALESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
IF k[0]
	dst[63:0] := RoundScaleFP64(b[63:0], imm8[7:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VRNDSCALESD" xed="VRNDSCALESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
dst[63:0] := RoundScaleFP64(b[63:0], imm8[7:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8 {sae}" name="VRNDSCALESD" xed="VRNDSCALESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP64(src1[63:0], imm8[7:0]) {
	m[63:0] := FP64(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[63:0] := POW(2.0, -m) * ROUND(POW(2.0, m) * src1[63:0], imm8[3:0])
	IF IsInf(tmp[63:0])
		tmp[63:0] := src1[63:0]
	FI
	RETURN tmp[63:0]
}
dst[63:0] := RoundScaleFP64(b[63:0], imm8[7:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VRNDSCALESD" xed="VRNDSCALESD_XMMf64_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := RoundScaleFP32(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8 {sae}" name="VRNDSCALESS" xed="VRNDSCALESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := RoundScaleFP32(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VRNDSCALESS" xed="VRNDSCALESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := RoundScaleFP32(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8 {sae}" name="VRNDSCALESS" xed="VRNDSCALESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
IF k[0]
	dst[31:0] := RoundScaleFP32(b[31:0], imm8[7:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VRNDSCALESS" xed="VRNDSCALESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
dst[31:0] := RoundScaleFP32(b[31:0], imm8[7:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8 {sae}" name="VRNDSCALESS" xed="VRNDSCALESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="const int" varname="imm8" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP32(src1[31:0], imm8[7:0]) {
	m[31:0] := FP32(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[31:0] := POW(FP32(2.0), -m) * ROUND(POW(FP32(2.0), m) * src1[31:0], imm8[3:0])
	IF IsInf(tmp[31:0])
		tmp[31:0] := src1[31:0]
	FI
	RETURN tmp[31:0]
}
dst[31:0] := RoundScaleFP32(b[31:0], imm8[7:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VRNDSCALESS" xed="VRNDSCALESS_XMMf32_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VSCALEFPD" xed="VSCALEFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_scalef_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VSCALEFPD" xed="VSCALEFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VSCALEFPD" xed="VSCALEFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_scalef_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VSCALEFPD" xed="VSCALEFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_scalef_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VSCALEFPD" xed="VSCALEFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_scalef_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", and store the results in "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SCALE(a[i+63:0], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VSCALEFPD" xed="VSCALEFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VSCALEFPS" xed="VSCALEFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_scalef_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VSCALEFPS" xed="VSCALEFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VSCALEFPS" xed="VSCALEFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_scalef_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VSCALEFPS" xed="VSCALEFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_scalef_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VSCALEFPS" xed="VSCALEFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_scalef_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", and store the results in "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[31:0]
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SCALE(a[i+31:0], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VSCALEFPS" xed="VSCALEFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[63:0] := SCALE(a[63:0], b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSCALEFSD" xed="VSCALEFSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[63:0] := SCALE(a[63:0], b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSCALEFSD" xed="VSCALEFSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[63:0] := SCALE(a[63:0], b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSCALEFSD" xed="VSCALEFSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[63:0] := SCALE(a[63:0], b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSCALEFSD" xed="VSCALEFSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
dst[63:0] := SCALE(a[63:0], b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSCALEFSD" xed="VSCALEFSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Scale the packed double-precision (64-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[63:0] := tmp_src1[63:0] * POW(2.0, FLOOR(tmp_src2[63:0]))
	RETURN dst[63:0]
}
dst[63:0] := SCALE(a[63:0], b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSCALEFSD" xed="VSCALEFSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[31:0] := SCALE(a[31:0], b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSCALEFSS" xed="VSCALEFSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[31:0] := SCALE(a[31:0], b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSCALEFSS" xed="VSCALEFSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[31:0] := SCALE(a[31:0], b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSCALEFSS" xed="VSCALEFSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[63:0]
}
IF k[0]
	dst[31:0] := SCALE(a[31:0], b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSCALEFSS" xed="VSCALEFSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[63:0]
}
dst[31:0] := SCALE(a[31:0], b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSCALEFSS" xed="VSCALEFSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>DEFINE SCALE(src1, src2) {
	IF (src2 == NaN)
		IF (src2 == SNaN)
			RETURN QNAN(src2)
		FI
	ELSE IF (src1 == NaN)
		IF (src1 == SNaN)
			RETURN QNAN(src1)
		FI
		IF (src2 != INF)
			RETURN QNAN(src1)
		FI
	ELSE
		tmp_src2 := src2
		tmp_src1 := src1
		IF (IS_DENORMAL(src2) AND MXCSR.DAZ)
			tmp_src2 := 0
		FI
		IF (IS_DENORMAL(src1) AND MXCSR.DAZ)
			tmp_src1 := 0
		FI
	FI
	dst[31:0] := tmp_src1[31:0] * POW(2.0, FLOOR(tmp_src2[31:0]))
	RETURN dst[63:0]
}
dst[31:0] := SCALE(a[31:0], b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSCALEFSS" xed="VSCALEFSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the 4 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 4)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m128" name="VBROADCASTF32X4" xed="VBROADCASTF32X4_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the 4 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m128" name="VBROADCASTF32X4" xed="VBROADCASTF32X4_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the 4 packed single-precision (32-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m128" name="VBROADCASTF32X4" xed="VBROADCASTF32X4_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_f64x4" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Broadcast the 4 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 4)*64
	dst[i+63:i] := a[n+63:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m256" name="VBROADCASTF64X4" xed="VBROADCASTF64X4_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_f64x4" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Broadcast the 4 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 4)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m256" name="VBROADCASTF64X4" xed="VBROADCASTF64X4_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_f64x4" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Broadcast the 4 packed double-precision (64-bit) floating-point elements from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 4)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m256" name="VBROADCASTF64X4" xed="VBROADCASTF64X4_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the 4 packed 32-bit integers from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 4)*32
	dst[i+31:i] := a[n+31:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m128" name="VBROADCASTI32X4" xed="VBROADCASTI32X4_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the 4 packed 32-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m128" name="VBROADCASTI32X4" xed="VBROADCASTI32X4_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the 4 packed 32-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	n := (j % 4)*32
	IF k[j]
		dst[i+31:i] := a[n+31:n]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m128" name="VBROADCASTI32X4" xed="VBROADCASTI32X4_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcast_i64x4" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Broadcast the 4 packed 64-bit integers from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 4)*64
	dst[i+63:i] := a[n+63:n]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m256" name="VBROADCASTI64X4" xed="VBROADCASTI64X4_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcast_i64x4" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Broadcast the 4 packed 64-bit integers from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 4)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m256" name="VBROADCASTI64X4" xed="VBROADCASTI64X4_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcast_i64x4" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Broadcast the 4 packed 64-bit integers from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	n := (j % 4)*64
	IF k[j]
		dst[i+63:i] := a[n+63:n]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m256" name="VBROADCASTI64X4" xed="VBROADCASTI64X4_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcastsd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the low double-precision (64-bit) floating-point element from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VBROADCASTSD" xed="VBROADCASTSD_ZMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcastsd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the low double-precision (64-bit) floating-point element from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VBROADCASTSD" xed="VBROADCASTSD_ZMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcastsd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Broadcast the low double-precision (64-bit) floating-point element from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VBROADCASTSD" xed="VBROADCASTSD_ZMMf64_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcastss_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_ZMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcastss_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_ZMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcastss_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Broadcast the low single-precision (32-bit) floating-point element from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VBROADCASTSS" xed="VBROADCASTSS_ZMMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compress_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := src[511:m]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCOMPRESSPD" xed="VCOMPRESSPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_compress_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Contiguously store the active double-precision (64-bit) floating-point elements in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := 0
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCOMPRESSPD" xed="VCOMPRESSPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compress_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := src[511:m]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCOMPRESSPS" xed="VCOMPRESSPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_compress_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Contiguously store the active single-precision (32-bit) floating-point elements in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := 0
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCOMPRESSPS" xed="VCOMPRESSPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expand_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VEXPANDPD" xed="VEXPANDPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expand_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Load contiguous active double-precision (64-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VEXPANDPD" xed="VEXPANDPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expand_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VEXPANDPS" xed="VEXPANDPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expand_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Load contiguous active single-precision (32-bit) floating-point elements from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VEXPANDPS" xed="VEXPANDPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_extractf32x4_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[1:0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
2: dst[127:0] := a[383:256]
3: dst[127:0] := a[511:384]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm, imm8" name="VEXTRACTF32X4" xed="VEXTRACTF32X4_XMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extractf32x4_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm, imm8" name="VEXTRACTF32X4" xed="VEXTRACTF32X4_XMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extractf32x4_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm, imm8" name="VEXTRACTF32X4" xed="VEXTRACTF32X4_XMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_extractf64x4_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[255:0] := a[255:0]
1: dst[255:0] := a[511:256]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm, imm8" name="VEXTRACTF64X4" xed="VEXTRACTF64X4_YMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extractf64x4_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm, imm8" name="VEXTRACTF64X4" xed="VEXTRACTF64X4_YMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extractf64x4_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm, imm8" name="VEXTRACTF64X4" xed="VEXTRACTF64X4_YMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_extracti32x4_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed 32-bit integers) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[1:0] OF
0: dst[127:0] := a[127:0]
1: dst[127:0] := a[255:128]
2: dst[127:0] := a[383:256]
3: dst[127:0] := a[511:384]
ESAC
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm, imm8" name="VEXTRACTI32X4" xed="VEXTRACTI32X4_XMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extracti32x4_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed 32-bit integers) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm, imm8" name="VEXTRACTI32X4" xed="VEXTRACTI32X4_XMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extracti32x4_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract 128 bits (composed of 4 packed 32-bit integers) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm, imm8" name="VEXTRACTI32X4" xed="VEXTRACTI32X4_XMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_extracti64x4_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 4 packed 64-bit integers) from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
CASE imm8[0] OF
0: dst[255:0] := a[255:0]
1: dst[255:0] := a[511:256]
ESAC
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm, imm8" name="VEXTRACTI64X4" xed="VEXTRACTI64X4_YMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_extracti64x4_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 4 packed 64-bit integers) from "a", selected with "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm, imm8" name="VEXTRACTI64X4" xed="VEXTRACTI64X4_YMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_extracti64x4_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Extract 256 bits (composed of 4 packed 64-bit integers) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
CASE imm8[0] OF
0: tmp[255:0] := a[255:0]
1: tmp[255:0] := a[511:256]
ESAC
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm, imm8" name="VEXTRACTI64X4" xed="VEXTRACTI64X4_YMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_insertf32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
2: dst[383:256] := b[127:0]
3: dst[511:384] := b[127:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm, imm8" name="VINSERTF32X4" xed="VINSERTF32X4_ZMMf32_MASKmskw_ZMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_insertf32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm, imm8" name="VINSERTF32X4" xed="VINSERTF32X4_ZMMf32_MASKmskw_ZMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_insertf32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm, imm8" name="VINSERTF32X4" xed="VINSERTF32X4_ZMMf32_MASKmskw_ZMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_insertf64x4" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 256 bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE (imm8[0]) OF
0: dst[255:0] := b[255:0]
1: dst[511:256] := b[255:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, ymm, imm8" name="VINSERTF64X4" xed="VINSERTF64X4_ZMMf64_MASKmskw_ZMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_insertf64x4" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, ymm, imm8" name="VINSERTF64X4" xed="VINSERTF64X4_ZMMf64_MASKmskw_ZMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_insertf64x4" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 4 packed double-precision (64-bit) floating-point elements) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, ymm, imm8" name="VINSERTF64X4" xed="VINSERTF64X4_ZMMf64_MASKmskw_ZMMf64_YMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_inserti32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 128 bits (composed of 4 packed 32-bit integers) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: dst[127:0] := b[127:0]
1: dst[255:128] := b[127:0]
2: dst[383:256] := b[127:0]
3: dst[511:384] := b[127:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm, imm8" name="VINSERTI32X4" xed="VINSERTI32X4_ZMMu32_MASKmskw_ZMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_inserti32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed 32-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm, imm8" name="VINSERTI32X4" xed="VINSERTI32X4_ZMMu32_MASKmskw_ZMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_inserti32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 128 bits (composed of 4 packed 32-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[1:0]) OF
0: tmp[127:0] := b[127:0]
1: tmp[255:128] := b[127:0]
2: tmp[383:256] := b[127:0]
3: tmp[511:384] := b[127:0]
ESAC
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm, imm8" name="VINSERTI32X4" xed="VINSERTI32X4_ZMMu32_MASKmskw_ZMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_inserti64x4" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "dst", then insert 256 bits (composed of 4 packed 64-bit integers) from "b" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[511:0] := a[511:0]
CASE (imm8[0]) OF
0: dst[255:0] := b[255:0]
1: dst[511:256] := b[255:0]
ESAC
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, ymm, imm8" name="VINSERTI64X4" xed="VINSERTI64X4_ZMMu64_MASKmskw_ZMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_inserti64x4" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 4 packed 64-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, ymm, imm8" name="VINSERTI64X4" xed="VINSERTI64X4_ZMMu64_MASKmskw_ZMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_inserti64x4" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert 256 bits (composed of 4 packed 64-bit integers) from "b" into "tmp" at the location specified by "imm8".  Store "tmp" to "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[511:0] := a[511:0]
CASE (imm8[0]) OF
0: tmp[255:0] := b[255:0]
1: tmp[511:256] := b[255:0]
ESAC
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, ymm, imm8" name="VINSERTI64X4" xed="VINSERTI64X4_ZMMu64_MASKmskw_ZMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcastd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_ZMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcastd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_ZMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcastd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Broadcast the low packed 32-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPBROADCASTD" xed="VPBROADCASTD_ZMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_broadcastq_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_ZMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_broadcastq_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_ZMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_broadcastq_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Broadcast the low packed 64-bit integer from "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPBROADCASTQ" xed="VPBROADCASTQ_ZMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compress_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := src[511:m]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPCOMPRESSD" xed="VPCOMPRESSD_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_compress_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Contiguously store the active 32-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 32
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[m+size-1:m] := a[i+31:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := 0
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPCOMPRESSD" xed="VPCOMPRESSD_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compress_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := src[511:m]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_compress_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Contiguously store the active 64-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 64
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[m+size-1:m] := a[i+63:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := 0
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPCOMPRESSQ" xed="VPCOMPRESSQ_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutexvar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMD" xed="VPERMD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutexvar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMD" xed="VPERMD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutexvar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	dst[i+31:i] := a[id+31:id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMD" xed="VPERMD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask2_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+4] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := idx[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMI2D" xed="VPERMI2D_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+4] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMT2D" xed="VPERMT2D_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := (idx[i+4]) ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMI2D" xed="VPERMI2D_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VPERMT2D" xed="VPERMT2D_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex2var_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Shuffle 32-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	dst[i+31:i] := idx[i+4] ? b[off+31:off] : a[off+31:off]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMI2D" xed="VPERMI2D_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VPERMT2D" xed="VPERMT2D_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask2_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set)</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+3] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := idx[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMI2PD" xed="VPERMI2PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+3] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMT2PD" xed="VPERMT2PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := (idx[i+3]) ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMI2PD" xed="VPERMI2PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VPERMT2PD" xed="VPERMT2PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex2var_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	dst[i+63:i] := idx[i+3] ? b[off+63:off] : a[off+63:off]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMI2PD" xed="VPERMI2PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VPERMT2PD" xed="VPERMT2PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask2_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+4] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := idx[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMI2PS" xed="VPERMI2PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := idx[i+4] ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMT2PS" xed="VPERMT2PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := (idx[i+4]) ? b[off+31:off] : a[off+31:off]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMI2PS" xed="VPERMI2PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VPERMT2PS" xed="VPERMT2PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex2var_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	off := idx[i+3:i]*32
	dst[i+31:i] := idx[i+4] ? b[off+31:off] : a[off+31:off]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMI2PS" xed="VPERMI2PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VPERMT2PS" xed="VPERMT2PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask2_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "idx" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+3] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := idx[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMI2Q" xed="VPERMI2Q_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := idx[i+3] ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMT2Q" xed="VPERMT2Q_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := (idx[i+3]) ? b[off+63:off] : a[off+63:off]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMI2Q" xed="VPERMI2Q_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VPERMT2Q" xed="VPERMT2Q_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex2var_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Shuffle 64-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	off := idx[i+2:i]*64
	dst[i+63:i] := idx[i+3] ? b[off+63:off] : a[off+63:off]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMI2Q" xed="VPERMI2Q_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VPERMT2Q" xed="VPERMT2Q_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permute_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
IF (imm8[0] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (imm8[2] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (imm8[2] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (imm8[3] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (imm8[3] == 1) tmp_dst[255:192] := a[255:192]; FI
IF (imm8[4] == 0) tmp_dst[319:256] := a[319:256]; FI
IF (imm8[4] == 1) tmp_dst[319:256] := a[383:320]; FI
IF (imm8[5] == 0) tmp_dst[383:320] := a[319:256]; FI
IF (imm8[5] == 1) tmp_dst[383:320] := a[383:320]; FI
IF (imm8[6] == 0) tmp_dst[447:384] := a[447:384]; FI
IF (imm8[6] == 1) tmp_dst[447:384] := a[511:448]; FI
IF (imm8[7] == 0) tmp_dst[511:448] := a[447:384]; FI
IF (imm8[7] == 1) tmp_dst[511:448] := a[511:448]; FI
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPERMILPD" xed="VPERMILPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutevar_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
IF (b[1] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (b[1] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (b[65] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (b[65] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (b[129] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (b[129] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (b[193] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (b[193] == 1) tmp_dst[255:192] := a[255:192]; FI
IF (b[257] == 0) tmp_dst[319:256] := a[319:256]; FI
IF (b[257] == 1) tmp_dst[319:256] := a[383:320]; FI
IF (b[321] == 0) tmp_dst[383:320] := a[319:256]; FI
IF (b[321] == 1) tmp_dst[383:320] := a[383:320]; FI
IF (b[385] == 0) tmp_dst[447:384] := a[447:384]; FI
IF (b[385] == 1) tmp_dst[447:384] := a[511:448]; FI
IF (b[449] == 0) tmp_dst[511:448] := a[447:384]; FI
IF (b[449] == 1) tmp_dst[511:448] := a[511:448]; FI
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMILPD" xed="VPERMILPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permute_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
IF (imm8[0] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (imm8[2] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (imm8[2] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (imm8[3] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (imm8[3] == 1) tmp_dst[255:192] := a[255:192]; FI
IF (imm8[4] == 0) tmp_dst[319:256] := a[319:256]; FI
IF (imm8[4] == 1) tmp_dst[319:256] := a[383:320]; FI
IF (imm8[5] == 0) tmp_dst[383:320] := a[319:256]; FI
IF (imm8[5] == 1) tmp_dst[383:320] := a[383:320]; FI
IF (imm8[6] == 0) tmp_dst[447:384] := a[447:384]; FI
IF (imm8[6] == 1) tmp_dst[447:384] := a[511:448]; FI
IF (imm8[7] == 0) tmp_dst[511:448] := a[447:384]; FI
IF (imm8[7] == 1) tmp_dst[511:448] := a[511:448]; FI
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPERMILPD" xed="VPERMILPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutevar_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
IF (b[1] == 0) tmp_dst[63:0] := a[63:0]; FI
IF (b[1] == 1) tmp_dst[63:0] := a[127:64]; FI
IF (b[65] == 0) tmp_dst[127:64] := a[63:0]; FI
IF (b[65] == 1) tmp_dst[127:64] := a[127:64]; FI
IF (b[129] == 0) tmp_dst[191:128] := a[191:128]; FI
IF (b[129] == 1) tmp_dst[191:128] := a[255:192]; FI
IF (b[193] == 0) tmp_dst[255:192] := a[191:128]; FI
IF (b[193] == 1) tmp_dst[255:192] := a[255:192]; FI
IF (b[257] == 0) tmp_dst[319:256] := a[319:256]; FI
IF (b[257] == 1) tmp_dst[319:256] := a[383:320]; FI
IF (b[321] == 0) tmp_dst[383:320] := a[319:256]; FI
IF (b[321] == 1) tmp_dst[383:320] := a[383:320]; FI
IF (b[385] == 0) tmp_dst[447:384] := a[447:384]; FI
IF (b[385] == 1) tmp_dst[447:384] := a[511:448]; FI
IF (b[449] == 0) tmp_dst[511:448] := a[447:384]; FI
IF (b[449] == 1) tmp_dst[511:448] := a[511:448]; FI
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMILPD" xed="VPERMILPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permute_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
IF (imm8[0] == 0) dst[63:0] := a[63:0]; FI
IF (imm8[0] == 1) dst[63:0] := a[127:64]; FI
IF (imm8[1] == 0) dst[127:64] := a[63:0]; FI
IF (imm8[1] == 1) dst[127:64] := a[127:64]; FI
IF (imm8[2] == 0) dst[191:128] := a[191:128]; FI
IF (imm8[2] == 1) dst[191:128] := a[255:192]; FI
IF (imm8[3] == 0) dst[255:192] := a[191:128]; FI
IF (imm8[3] == 1) dst[255:192] := a[255:192]; FI
IF (imm8[4] == 0) dst[319:256] := a[319:256]; FI
IF (imm8[4] == 1) dst[319:256] := a[383:320]; FI
IF (imm8[5] == 0) dst[383:320] := a[319:256]; FI
IF (imm8[5] == 1) dst[383:320] := a[383:320]; FI
IF (imm8[6] == 0) dst[447:384] := a[447:384]; FI
IF (imm8[6] == 1) dst[447:384] := a[511:448]; FI
IF (imm8[7] == 0) dst[511:448] := a[447:384]; FI
IF (imm8[7] == 1) dst[511:448] := a[511:448]; FI
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPERMILPD" xed="VPERMILPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutevar_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst".</description>
	<operation>
IF (b[1] == 0) dst[63:0] := a[63:0]; FI
IF (b[1] == 1) dst[63:0] := a[127:64]; FI
IF (b[65] == 0) dst[127:64] := a[63:0]; FI
IF (b[65] == 1) dst[127:64] := a[127:64]; FI
IF (b[129] == 0) dst[191:128] := a[191:128]; FI
IF (b[129] == 1) dst[191:128] := a[255:192]; FI
IF (b[193] == 0) dst[255:192] := a[191:128]; FI
IF (b[193] == 1) dst[255:192] := a[255:192]; FI
IF (b[257] == 0) dst[319:256] := a[319:256]; FI
IF (b[257] == 1) dst[319:256] := a[383:320]; FI
IF (b[321] == 0) dst[383:320] := a[319:256]; FI
IF (b[321] == 1) dst[383:320] := a[383:320]; FI
IF (b[385] == 0) dst[447:384] := a[447:384]; FI
IF (b[385] == 1) dst[447:384] := a[511:448]; FI
IF (b[449] == 0) dst[511:448] := a[447:384]; FI
IF (b[449] == 1) dst[511:448] := a[511:448]; FI
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMILPD" xed="VPERMILPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permute_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
tmp_dst[287:256] := SELECT4(a[383:256], imm8[1:0])
tmp_dst[319:288] := SELECT4(a[383:256], imm8[3:2])
tmp_dst[351:320] := SELECT4(a[383:256], imm8[5:4])
tmp_dst[383:352] := SELECT4(a[383:256], imm8[7:6])
tmp_dst[415:384] := SELECT4(a[511:384], imm8[1:0])
tmp_dst[447:416] := SELECT4(a[511:384], imm8[3:2])
tmp_dst[479:448] := SELECT4(a[511:384], imm8[5:4])
tmp_dst[511:480] := SELECT4(a[511:384], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPERMILPS" xed="VPERMILPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutevar_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], b[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], b[33:32])
tmp_dst[95:64] := SELECT4(a[127:0], b[65:64])
tmp_dst[127:96] := SELECT4(a[127:0], b[97:96])
tmp_dst[159:128] := SELECT4(a[255:128], b[129:128])
tmp_dst[191:160] := SELECT4(a[255:128], b[161:160])
tmp_dst[223:192] := SELECT4(a[255:128], b[193:192])
tmp_dst[255:224] := SELECT4(a[255:128], b[225:224])
tmp_dst[287:256] := SELECT4(a[383:256], b[257:256])
tmp_dst[319:288] := SELECT4(a[383:256], b[289:288])
tmp_dst[351:320] := SELECT4(a[383:256], b[321:320])
tmp_dst[383:352] := SELECT4(a[383:256], b[353:352])
tmp_dst[415:384] := SELECT4(a[511:384], b[385:384])
tmp_dst[447:416] := SELECT4(a[511:384], b[417:416])
tmp_dst[479:448] := SELECT4(a[511:384], b[449:448])
tmp_dst[511:480] := SELECT4(a[511:384], b[481:480])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMILPS" xed="VPERMILPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permute_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
tmp_dst[287:256] := SELECT4(a[383:256], imm8[1:0])
tmp_dst[319:288] := SELECT4(a[383:256], imm8[3:2])
tmp_dst[351:320] := SELECT4(a[383:256], imm8[5:4])
tmp_dst[383:352] := SELECT4(a[383:256], imm8[7:6])
tmp_dst[415:384] := SELECT4(a[511:384], imm8[1:0])
tmp_dst[447:416] := SELECT4(a[511:384], imm8[3:2])
tmp_dst[479:448] := SELECT4(a[511:384], imm8[5:4])
tmp_dst[511:480] := SELECT4(a[511:384], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPERMILPS" xed="VPERMILPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutevar_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], b[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], b[33:32])
tmp_dst[95:64] := SELECT4(a[127:0], b[65:64])
tmp_dst[127:96] := SELECT4(a[127:0], b[97:96])
tmp_dst[159:128] := SELECT4(a[255:128], b[129:128])
tmp_dst[191:160] := SELECT4(a[255:128], b[161:160])
tmp_dst[223:192] := SELECT4(a[255:128], b[193:192])
tmp_dst[255:224] := SELECT4(a[255:128], b[225:224])
tmp_dst[287:256] := SELECT4(a[383:256], b[257:256])
tmp_dst[319:288] := SELECT4(a[383:256], b[289:288])
tmp_dst[351:320] := SELECT4(a[383:256], b[321:320])
tmp_dst[383:352] := SELECT4(a[383:256], b[353:352])
tmp_dst[415:384] := SELECT4(a[511:384], b[385:384])
tmp_dst[447:416] := SELECT4(a[511:384], b[417:416])
tmp_dst[479:448] := SELECT4(a[511:384], b[449:448])
tmp_dst[511:480] := SELECT4(a[511:384], b[481:480])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMILPS" xed="VPERMILPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permute_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(a[127:0], imm8[5:4])
dst[127:96] := SELECT4(a[127:0], imm8[7:6])
dst[159:128] := SELECT4(a[255:128], imm8[1:0])
dst[191:160] := SELECT4(a[255:128], imm8[3:2])
dst[223:192] := SELECT4(a[255:128], imm8[5:4])
dst[255:224] := SELECT4(a[255:128], imm8[7:6])
dst[287:256] := SELECT4(a[383:256], imm8[1:0])
dst[319:288] := SELECT4(a[383:256], imm8[3:2])
dst[351:320] := SELECT4(a[383:256], imm8[5:4])
dst[383:352] := SELECT4(a[383:256], imm8[7:6])
dst[415:384] := SELECT4(a[511:384], imm8[1:0])
dst[447:416] := SELECT4(a[511:384], imm8[3:2])
dst[479:448] := SELECT4(a[511:384], imm8[5:4])
dst[511:480] := SELECT4(a[511:384], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPERMILPS" xed="VPERMILPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutevar_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], b[1:0])
dst[63:32] := SELECT4(a[127:0], b[33:32])
dst[95:64] := SELECT4(a[127:0], b[65:64])
dst[127:96] := SELECT4(a[127:0], b[97:96])
dst[159:128] := SELECT4(a[255:128], b[129:128])
dst[191:160] := SELECT4(a[255:128], b[161:160])
dst[223:192] := SELECT4(a[255:128], b[193:192])
dst[255:224] := SELECT4(a[255:128], b[225:224])
dst[287:256] := SELECT4(a[383:256], b[257:256])
dst[319:288] := SELECT4(a[383:256], b[289:288])
dst[351:320] := SELECT4(a[383:256], b[321:320])
dst[383:352] := SELECT4(a[383:256], b[353:352])
dst[415:384] := SELECT4(a[511:384], b[385:384])
dst[447:416] := SELECT4(a[511:384], b[417:416])
dst[479:448] := SELECT4(a[511:384], b[449:448])
dst[511:480] := SELECT4(a[511:384], b[481:480])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMILPS" xed="VPERMILPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 256-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
tmp_dst[319:256] := SELECT4(a[511:256], imm8[1:0])
tmp_dst[383:320] := SELECT4(a[511:256], imm8[3:2])
tmp_dst[447:384] := SELECT4(a[511:256], imm8[5:4])
tmp_dst[511:448] := SELECT4(a[511:256], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPERMPD" xed="VPERMPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutexvar_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	id := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMPD" xed="VPERMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 256-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
tmp_dst[319:256] := SELECT4(a[511:256], imm8[1:0])
tmp_dst[383:320] := SELECT4(a[511:256], imm8[3:2])
tmp_dst[447:384] := SELECT4(a[511:256], imm8[5:4])
tmp_dst[511:448] := SELECT4(a[511:256], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPERMPD" xed="VPERMPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutexvar_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	id := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMPD" xed="VPERMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" within 256-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
dst[63:0] := SELECT4(a[255:0], imm8[1:0])
dst[127:64] := SELECT4(a[255:0], imm8[3:2])
dst[191:128] := SELECT4(a[255:0], imm8[5:4])
dst[255:192] := SELECT4(a[255:0], imm8[7:6])
dst[319:256] := SELECT4(a[511:256], imm8[1:0])
dst[383:320] := SELECT4(a[511:256], imm8[3:2])
dst[447:384] := SELECT4(a[511:256], imm8[5:4])
dst[511:448] := SELECT4(a[511:256], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPERMPD" xed="VPERMPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutexvar_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Shuffle double-precision (64-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	id := idx[i+2:i]*64
	dst[i+63:i] := a[id+63:id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMPD" xed="VPERMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutexvar_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMPS" xed="VPERMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutexvar_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMPS" xed="VPERMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutexvar_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" across lanes using the corresponding index in "idx".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	dst[i+31:i] := a[id+31:id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMPS" xed="VPERMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 64-bit integers in "a" within 256-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
tmp_dst[319:256] := SELECT4(a[511:256], imm8[1:0])
tmp_dst[383:320] := SELECT4(a[511:256], imm8[3:2])
tmp_dst[447:384] := SELECT4(a[511:256], imm8[5:4])
tmp_dst[511:448] := SELECT4(a[511:256], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPERMQ" xed="VPERMQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutexvar_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Shuffle 64-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	id := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMQ" xed="VPERMQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 64-bit integers in "a" within 256-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
tmp_dst[63:0] := SELECT4(a[255:0], imm8[1:0])
tmp_dst[127:64] := SELECT4(a[255:0], imm8[3:2])
tmp_dst[191:128] := SELECT4(a[255:0], imm8[5:4])
tmp_dst[255:192] := SELECT4(a[255:0], imm8[7:6])
tmp_dst[319:256] := SELECT4(a[511:256], imm8[1:0])
tmp_dst[383:320] := SELECT4(a[511:256], imm8[3:2])
tmp_dst[447:384] := SELECT4(a[511:256], imm8[5:4])
tmp_dst[511:448] := SELECT4(a[511:256], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPERMQ" xed="VPERMQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutexvar_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Shuffle 64-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	id := idx[i+2:i]*64
	IF k[j]
		dst[i+63:i] := a[id+63:id]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMQ" xed="VPERMQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 64-bit integers in "a" within 256-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}
dst[63:0] := SELECT4(a[255:0], imm8[1:0])
dst[127:64] := SELECT4(a[255:0], imm8[3:2])
dst[191:128] := SELECT4(a[255:0], imm8[5:4])
dst[255:192] := SELECT4(a[255:0], imm8[7:6])
dst[319:256] := SELECT4(a[511:256], imm8[1:0])
dst[383:320] := SELECT4(a[511:256], imm8[3:2])
dst[447:384] := SELECT4(a[511:256], imm8[5:4])
dst[511:448] := SELECT4(a[511:256], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPERMQ" xed="VPERMQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutexvar_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="idx" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Shuffle 64-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	id := idx[i+2:i]*64
	dst[i+63:i] := a[id+63:id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMQ" xed="VPERMQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expand_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Load contiguous active 32-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPEXPANDD" xed="VPEXPANDD_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expand_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Load contiguous active 32-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[m+31:m]
		m := m + 32
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPEXPANDD" xed="VPEXPANDD_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expand_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Load contiguous active 64-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPEXPANDQ" xed="VPEXPANDQ_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expand_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Load contiguous active 64-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[m+63:m]
		m := m + 64
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPEXPANDQ" xed="VPEXPANDQ_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_PERM" type="_MM_PERM_ENUM" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
tmp_dst[287:256] := SELECT4(a[383:256], imm8[1:0])
tmp_dst[319:288] := SELECT4(a[383:256], imm8[3:2])
tmp_dst[351:320] := SELECT4(a[383:256], imm8[5:4])
tmp_dst[383:352] := SELECT4(a[383:256], imm8[7:6])
tmp_dst[415:384] := SELECT4(a[511:384], imm8[1:0])
tmp_dst[447:416] := SELECT4(a[511:384], imm8[3:2])
tmp_dst[479:448] := SELECT4(a[511:384], imm8[5:4])
tmp_dst[511:480] := SELECT4(a[511:384], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSHUFD" xed="VPSHUFD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpackhi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpackhi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpackhi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_HIGH_DWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_HIGH_DWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKHDQ" xed="VPUNPCKHDQ_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpackhi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpackhi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpackhi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_HIGH_QWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_HIGH_QWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKHQDQ" xed="VPUNPCKHQDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpacklo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpacklo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpacklo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_DWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_DWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKLDQ" xed="VPUNPCKLDQ_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpacklo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpacklo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpacklo_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_QWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_QWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPUNPCKLQDQ" xed="VPUNPCKLQDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 single-precision (32-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VSHUFF32X4" xed="VSHUFF32X4_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 single-precision (32-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VSHUFF32X4" xed="VSHUFF32X4_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_f32x4" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 single-precision (32-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[511:0], imm8[1:0])
dst[255:128] := SELECT4(a[511:0], imm8[3:2])
dst[383:256] := SELECT4(b[511:0], imm8[5:4])
dst[511:384] := SELECT4(b[511:0], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VSHUFF32X4" xed="VSHUFF32X4_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_f64x2" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 double-precision (64-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VSHUFF64X2" xed="VSHUFF64X2_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_f64x2" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 double-precision (64-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VSHUFF64X2" xed="VSHUFF64X2_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_f64x2" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 double-precision (64-bit) floating-point elements) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[511:0], imm8[1:0])
dst[255:128] := SELECT4(a[511:0], imm8[3:2])
dst[383:256] := SELECT4(b[511:0], imm8[5:4])
dst[511:384] := SELECT4(b[511:0], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VSHUFF64X2" xed="VSHUFF64X2_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 32-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VSHUFI32X4" xed="VSHUFI32X4_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 32-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VSHUFI32X4" xed="VSHUFI32X4_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_i32x4" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 4 32-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[511:0], imm8[1:0])
dst[255:128] := SELECT4(a[511:0], imm8[3:2])
dst[383:256] := SELECT4(b[511:0], imm8[5:4])
dst[511:384] := SELECT4(b[511:0], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VSHUFI32X4" xed="VSHUFI32X4_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_i64x2" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 64-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VSHUFI64X2" xed="VSHUFI64X2_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_i64x2" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 64-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
tmp_dst[127:0] := SELECT4(a[511:0], imm8[1:0])
tmp_dst[255:128] := SELECT4(a[511:0], imm8[3:2])
tmp_dst[383:256] := SELECT4(b[511:0], imm8[5:4])
tmp_dst[511:384] := SELECT4(b[511:0], imm8[7:6])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VSHUFI64X2" xed="VSHUFI64X2_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_i64x2" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle 128-bits (composed of 2 64-bit integers) selected by "imm8" from "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[127:0] := src[127:0]
	1:	tmp[127:0] := src[255:128]
	2:	tmp[127:0] := src[383:256]
	3:	tmp[127:0] := src[511:384]
	ESAC
	RETURN tmp[127:0]
}
dst[127:0] := SELECT4(a[511:0], imm8[1:0])
dst[255:128] := SELECT4(a[511:0], imm8[3:2])
dst[383:256] := SELECT4(b[511:0], imm8[5:4])
dst[511:384] := SELECT4(b[511:0], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VSHUFI64X2" xed="VSHUFI64X2_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
tmp_dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
tmp_dst[191:128] := (imm8[2] == 0) ? a[191:128] : a[255:192]
tmp_dst[255:192] := (imm8[3] == 0) ? b[191:128] : b[255:192]
tmp_dst[319:256] := (imm8[4] == 0) ? a[319:256] : a[383:320]
tmp_dst[383:320] := (imm8[5] == 0) ? b[319:256] : b[383:320]
tmp_dst[447:384] := (imm8[6] == 0) ? a[447:384] : a[511:448]
tmp_dst[511:448] := (imm8[7] == 0) ? b[447:384] : b[511:448]
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VSHUFPD" xed="VSHUFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp_dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
tmp_dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
tmp_dst[191:128] := (imm8[2] == 0) ? a[191:128] : a[255:192]
tmp_dst[255:192] := (imm8[3] == 0) ? b[191:128] : b[255:192]
tmp_dst[319:256] := (imm8[4] == 0) ? a[319:256] : a[383:320]
tmp_dst[383:320] := (imm8[5] == 0) ? b[319:256] : b[383:320]
tmp_dst[447:384] := (imm8[6] == 0) ? a[447:384] : a[511:448]
tmp_dst[511:448] := (imm8[7] == 0) ? b[447:384] : b[511:448]
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VSHUFPD" xed="VSHUFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
dst[191:128] := (imm8[2] == 0) ? a[191:128] : a[255:192]
dst[255:192] := (imm8[3] == 0) ? b[191:128] : b[255:192]
dst[319:256] := (imm8[4] == 0) ? a[319:256] : a[383:320]
dst[383:320] := (imm8[5] == 0) ? b[319:256] : b[383:320]
dst[447:384] := (imm8[6] == 0) ? a[447:384] : a[511:448]
dst[511:448] := (imm8[7] == 0) ? b[447:384] : b[511:448]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VSHUFPD" xed="VSHUFPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(b[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(b[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(b[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(b[255:128], imm8[7:6])
tmp_dst[287:256] := SELECT4(a[383:256], imm8[1:0])
tmp_dst[319:288] := SELECT4(a[383:256], imm8[3:2])
tmp_dst[351:320] := SELECT4(b[383:256], imm8[5:4])
tmp_dst[383:352] := SELECT4(b[383:256], imm8[7:6])
tmp_dst[415:384] := SELECT4(a[511:384], imm8[1:0])
tmp_dst[447:416] := SELECT4(a[511:384], imm8[3:2])
tmp_dst[479:448] := SELECT4(b[511:384], imm8[5:4])
tmp_dst[511:480] := SELECT4(b[511:384], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VSHUFPS" xed="VSHUFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shuffle_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(b[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(b[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(b[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(b[255:128], imm8[7:6])
tmp_dst[287:256] := SELECT4(a[383:256], imm8[1:0])
tmp_dst[319:288] := SELECT4(a[383:256], imm8[3:2])
tmp_dst[351:320] := SELECT4(b[383:256], imm8[5:4])
tmp_dst[383:352] := SELECT4(b[383:256], imm8[7:6])
tmp_dst[415:384] := SELECT4(a[511:384], imm8[1:0])
tmp_dst[447:416] := SELECT4(a[511:384], imm8[3:2])
tmp_dst[479:448] := SELECT4(b[511:384], imm8[5:4])
tmp_dst[511:480] := SELECT4(b[511:384], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VSHUFPS" xed="VSHUFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(b[127:0], imm8[5:4])
dst[127:96] := SELECT4(b[127:0], imm8[7:6])
dst[159:128] := SELECT4(a[255:128], imm8[1:0])
dst[191:160] := SELECT4(a[255:128], imm8[3:2])
dst[223:192] := SELECT4(b[255:128], imm8[5:4])
dst[255:224] := SELECT4(b[255:128], imm8[7:6])
dst[287:256] := SELECT4(a[383:256], imm8[1:0])
dst[319:288] := SELECT4(a[383:256], imm8[3:2])
dst[351:320] := SELECT4(b[383:256], imm8[5:4])
dst[383:352] := SELECT4(b[383:256], imm8[7:6])
dst[415:384] := SELECT4(a[511:384], imm8[1:0])
dst[447:416] := SELECT4(a[511:384], imm8[3:2])
dst[479:448] := SELECT4(b[511:384], imm8[5:4])
dst[511:480] := SELECT4(b[511:384], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VSHUFPS" xed="VSHUFPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpackhi_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VUNPCKHPD" xed="VUNPCKHPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpackhi_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VUNPCKHPD" xed="VUNPCKHPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpackhi_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_QWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_HIGH_QWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_HIGH_QWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VUNPCKHPD" xed="VUNPCKHPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpackhi_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VUNPCKHPS" xed="VUNPCKHPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpackhi_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_HIGH_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_HIGH_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VUNPCKHPS" xed="VUNPCKHPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpackhi_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_HIGH_DWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_HIGH_DWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_HIGH_DWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VUNPCKHPS" xed="VUNPCKHPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpacklo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VUNPCKLPD" xed="VUNPCKLPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpacklo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
tmp_dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_QWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_QWORDS(a[511:384], b[511:384])
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp_dst[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VUNPCKLPD" xed="VUNPCKLPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpacklo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_QWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_QWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_QWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VUNPCKLPD" xed="VUNPCKLPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_unpacklo_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VUNPCKLPS" xed="VUNPCKLPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_unpacklo_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
tmp_dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
tmp_dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
tmp_dst[383:256] := INTERLEAVE_DWORDS(a[383:256], b[383:256])
tmp_dst[511:384] := INTERLEAVE_DWORDS(a[511:384], b[511:384])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VUNPCKLPS" xed="VUNPCKLPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_unpacklo_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of each 128-bit lane in "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
dst[255:128] := INTERLEAVE_DWORDS(a[255:128], b[255:128])
dst[383:256] := INTERLEAVE_DWORDS(a[383:256], b[383:256])
dst[511:384] := INTERLEAVE_DWORDS(a[511:384], b[511:384])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VUNPCKLPS" xed="VUNPCKLPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_round_sd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k". [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
k[0] := ( a[63:0] OP b[63:0] ) ? 1 : 0
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, xmm {sae}, imm8" name="VCMPSD" xed="VCMPSD_MASKmskw_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_sd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
k[0] := ( a[63:0] OP b[63:0] ) ? 1 : 0
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VCMPSD" xed="VCMPSD_MASKmskw_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_round_sd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set). [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
IF k1[0]
	k[0] := ( a[63:0] OP b[63:0] ) ? 1 : 0
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm {sae}, imm8" name="VCMPSD" xed="VCMPSD_MASKmskw_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_sd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
IF k1[0]
	k[0] := ( a[63:0] OP b[63:0] ) ? 1 : 0
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VCMPSD" xed="VCMPSD_MASKmskw_MASKmskw_XMMf64_XMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_round_ss_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k". [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
k[0] := ( a[31:0] OP b[31:0] ) ? 1 : 0
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, xmm {sae}, imm8" name="VCMPSS" xed="VCMPSS_MASKmskw_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_ss_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
k[0] := ( a[31:0] OP b[31:0] ) ? 1 : 0
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VCMPSS" xed="VCMPSS_MASKmskw_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_round_ss_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set). [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
IF k1[0]
	k[0] := ( a[31:0] OP b[31:0] ) ? 1 : 0
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm {sae}, imm8" name="VCMPSS" xed="VCMPSS_MASKmskw_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_ss_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and store the result in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
IF k1[0]
	k[0] := ( a[31:0] OP b[31:0] ) ? 1 : 0
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VCMPSS" xed="VCMPSS_MASKmskw_MASKmskw_XMMf32_XMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comi_round_sd" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and return the boolean result (0 or 1). [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
RETURN ( a[63:0] OP b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm {sae}" name="VCOMISD" xed="VCOMISD_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comi_round_ss" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" based on the comparison operand specified by "imm8", and return the boolean result (0 or 1). [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
RETURN ( a[31:0] OP b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm {sae}" name="VCOMISS" xed="VCOMISS_XMMf32_XMMf32_AVX512" />
	<instruction form="xmm, xmm {sae}" name="VUCOMISS" xed="VUCOMISS_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPEQQ" xed="VPCMPEQQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPGTQ" xed="VPCMPGTQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPEQQ" xed="VPCMPEQQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPGTQ" xed="VPCMPGTQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPQ" xed="VPCMPQ_MASKmskw_MASKmskw_ZMMi64_ZMMi64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] == b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &gt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt;= b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] &lt; b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epu64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] != b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUQ" xed="VPCMPUQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi32_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTDQ2PD" xed="VCVTDQ2PD_ZMMf64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	IF k[j]
		dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
	ELSE
		dst[m+63:m] := src[m+63:m]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTDQ2PD" xed="VCVTDQ2PD_ZMMf64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi32_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*64
	IF k[j]
		dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
	ELSE
		dst[m+63:m] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTDQ2PD" xed="VCVTDQ2PD_ZMMf64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTDQ2PS" xed="VCVTDQ2PS_ZMMf32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTDQ2PS" xed="VCVTDQ2PS_ZMMf32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTDQ2PS" xed="VCVTDQ2PS_ZMMf32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTDQ2PS" xed="VCVTDQ2PS_ZMMf32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTDQ2PS" xed="VCVTDQ2PS_ZMMf32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTDQ2PS" xed="VCVTDQ2PS_ZMMf32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTPD2DQ" xed="VCVTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTPD2DQ" xed="VCVTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTPD2DQ" xed="VCVTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTPD2DQ" xed="VCVTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTPD2DQ" xed="VCVTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTPD2DQ" xed="VCVTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_FP32(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTPD2PS" xed="VCVTPD2PS_YMMf32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_FP32(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTPD2PS" xed="VCVTPD2PS_YMMf32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTPD2PS" xed="VCVTPD2PS_YMMf32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTPD2PS" xed="VCVTPD2PS_YMMf32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTPD2PS" xed="VCVTPD2PS_YMMf32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_FP32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTPD2PS" xed="VCVTPD2PS_YMMf32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTPD2UDQ" xed="VCVTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP16" type="__m256i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {sae}" name="VCVTPH2PS" xed="VCVTPH2PS_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP16" type="__m256i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTPH2PS" xed="VCVTPH2PS_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {sae}" name="VCVTPH2PS" xed="VCVTPH2PS_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTPH2PS" xed="VCVTPH2PS_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {sae}" name="VCVTPH2PS" xed="VCVTPH2PS_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTPH2PS" xed="VCVTPH2PS_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTPS2DQ" xed="VCVTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPS2DQ" xed="VCVTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTPS2DQ" xed="VCVTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPS2DQ" xed="VCVTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTPS2DQ" xed="VCVTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTPS2DQ" xed="VCVTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundps_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 32*j
	dst[i+63:i] := Convert_FP32_To_FP64(a[k+31:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {sae}" name="VCVTPS2PD" xed="VCVTPS2PD_ZMMf64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtps_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 32*j
	dst[i+63:i] := Convert_FP32_To_FP64(a[k+31:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTPS2PD" xed="VCVTPS2PD_ZMMf64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundps_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {sae}" name="VCVTPS2PD" xed="VCVTPS2PD_ZMMf64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtps_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTPS2PD" xed="VCVTPS2PD_ZMMf64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundps_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {sae}" name="VCVTPS2PD" xed="VCVTPS2PD_ZMMf64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtps_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := Convert_FP32_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTPS2PD" xed="VCVTPS2PD_ZMMf64_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundps_ph" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". [round2_note]</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 32*j
	dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {sae}, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_YMMf16_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtps_ph" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". [round2_note]</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 32*j
	dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {sae}, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_YMMf16_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundps_ph" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round2_note]</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {sae}, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_YMMf16_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtps_ph" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round2_note]</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {sae}, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_YMMf16_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundps_ph" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round2_note]</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {sae}, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_YMMf16_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtps_ph" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round2_note]</description>
	<operation>
FOR j := 0 to 15
	i := 16*j
	l := 32*j
	IF k[j]
		dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {sae}, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_YMMf16_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTPS2UDQ" xed="VCVTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32(a[63:0])
	</operation>
	<instruction form="r32, xmm {er}" name="VCVTSD2SI" xed="VCVTSD2SI_GPR32i32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64(a[63:0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSD2SI" xed="VCVTSD2SI_GPR64i64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_si32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32(a[63:0])
	</operation>
	<instruction form="r32, xmm {er}" name="VCVTSD2SI" xed="VCVTSD2SI_GPR32i32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_si64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64(a[63:0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSD2SI" xed="VCVTSD2SI_GPR64i64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32(a[63:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTSD2SI" xed="VCVTSD2SI_GPR32i32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTSD2SI" xed="VCVTSD2SI_GPR64i64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_FP64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VCVTSD2SS" xed="VCVTSD2SS_XMMf32_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvt_roundsd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := Convert_FP64_To_FP32(b[63:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VCVTSD2SS" xed="VCVTSD2SS_XMMf32_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := Convert_FP64_To_FP32(b[63:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VCVTSD2SS" xed="VCVTSD2SS_XMMf32_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvt_roundsd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := Convert_FP64_To_FP32(b[63:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VCVTSD2SS" xed="VCVTSD2SS_XMMf32_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsd_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := Convert_FP64_To_FP32(b[63:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VCVTSD2SS" xed="VCVTSD2SS_XMMf32_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 32-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_FP64_To_UInt32(a[63:0])
	</operation>
	<instruction form="r32, xmm {er}" name="VCVTSD2USI" xed="VCVTSD2USI_GPR32u32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 64-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[63:0] := Convert_FP64_To_UInt64(a[63:0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSD2USI" xed="VCVTSD2USI_GPR64u64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 32-bit integer, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP64_To_UInt32(a[63:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTSD2USI" xed="VCVTSD2USI_GPR32u32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 64-bit integer, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_UInt64(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTSD2USI" xed="VCVTSD2USI_GPR64u64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundi64_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 64-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTSI2SD" xed="VCVTSI2SD_XMMf64_XMMf64_GPR64i64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsi64_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 64-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". 
	[round_note]</description>
	<operation>
dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTSI2SD" xed="VCVTSI2SD_XMMf64_XMMf64_GPR64i64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvti32_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<description>Convert the signed 32-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_Int32_To_FP64(b[31:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32" name="VCVTSI2SD" xed="VCVTSI2SD_XMMf64_XMMf64_GPR32i32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvti64_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<description>Convert the signed 64-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64" name="VCVTSI2SD" xed="VCVTSI2SD_XMMf64_XMMf64_GPR64i64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundi32_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32 {er}" name="VCVTSI2SS" xed="VCVTSI2SS_XMMf32_XMMf32_GPR32i32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundi64_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 64-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_Int64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTSI2SS" xed="VCVTSI2SS_XMMf32_XMMf32_GPR64i64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsi32_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32 {er}" name="VCVTSI2SS" xed="VCVTSI2SS_XMMf32_XMMf32_GPR32i32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsi64_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 64-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_Int64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTSI2SS" xed="VCVTSI2SS_XMMf32_XMMf32_GPR64i64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvti32_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<description>Convert the signed 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32" name="VCVTSI2SS" xed="VCVTSI2SS_XMMf32_XMMf32_GPR32i32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvti64_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<description>Convert the signed 64-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64" name="VCVTSI2SS" xed="VCVTSI2SS_XMMf32_XMMf32_GPR64i64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". 
	[sae_note]</description>
	<operation>
dst[63:0] := Convert_FP32_To_FP64(b[31:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VCVTSS2SD" xed="VCVTSS2SD_XMMf64_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvt_roundss_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[sae_note]</description>
	<operation>
IF k[0]
	dst[63:0] := Convert_FP32_To_FP64(b[31:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VCVTSS2SD" xed="VCVTSS2SD_XMMf64_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtss_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := Convert_FP32_To_FP64(b[31:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VCVTSS2SD" xed="VCVTSS2SD_XMMf64_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvt_roundss_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". 
	[sae_note]</description>
	<operation>
IF k[0]
	dst[63:0] := Convert_FP32_To_FP64(b[31:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VCVTSS2SD" xed="VCVTSS2SD_XMMf64_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtss_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := Convert_FP32_To_FP64(b[31:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VCVTSS2SD" xed="VCVTSS2SD_XMMf64_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32(a[31:0])
	</operation>
	<instruction form="r32, xmm {er}" name="VCVTSS2SI" xed="VCVTSS2SI_GPR32i32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64(a[31:0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSS2SI" xed="VCVTSS2SI_GPR64i64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_si32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32(a[31:0])
	</operation>
	<instruction form="r32, xmm {er}" name="VCVTSS2SI" xed="VCVTSS2SI_GPR32i32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_si64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64(a[31:0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSS2SI" xed="VCVTSS2SI_GPR64i64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTSS2SI" xed="VCVTSS2SI_GPR32i32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64(a[31:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTSS2SI" xed="VCVTSS2SI_GPR64i64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 32-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[31:0] := Convert_FP32_To_UInt32(a[31:0])
	</operation>
	<instruction form="r32, xmm {er}" name="VCVTSS2USI" xed="VCVTSS2USI_GPR32u32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 64-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[63:0] := Convert_FP32_To_UInt64(a[31:0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSS2USI" xed="VCVTSS2USI_GPR64u64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 32-bit integer, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_UInt32(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTSS2USI" xed="VCVTSS2USI_GPR32u32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 64-bit integer, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP32_To_UInt64(a[31:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTSS2USI" xed="VCVTSS2USI_GPR64u64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".  [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {sae}" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {sae}" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {sae}" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttpd_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTTPD2DQ" xed="VCVTTPD2DQ_YMMi32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".  [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {sae}" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).   [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {sae}" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {sae}" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttpd_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 32*j
	l := 64*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[l+63:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTTPD2UDQ" xed="VCVTTPD2UDQ_YMMu32_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".  [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttps_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTTPS2DQ" xed="VCVTTPS2DQ_ZMMi32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".  [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_UInt32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).   [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed double-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP32_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttps_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed double-precision (32-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_FP64_To_UInt32_Truncate(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTTPS2UDQ" xed="VCVTTPS2UDQ_ZMMu32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsd_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32_Truncate(a[63:0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSD2SI" xed="VCVTTSD2SI_GPR32i32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsd_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSD2SI" xed="VCVTTSD2SI_GPR64i64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsd_si32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32_Truncate(a[63:0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSD2SI" xed="VCVTTSD2SI_GPR32i32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsd_si64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSD2SI" xed="VCVTTSD2SI_GPR64i64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsd_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32_Truncate(a[63:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTTSD2SI" xed="VCVTTSD2SI_GPR32i32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsd_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTTSD2SI" xed="VCVTTSD2SI_GPR64i64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsd_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 32-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[31:0] := Convert_FP64_To_UInt32_Truncate(a[63:0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSD2USI" xed="VCVTTSD2USI_GPR32u32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsd_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 64-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[63:0] := Convert_FP64_To_UInt64_Truncate(a[63:0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSD2USI" xed="VCVTTSD2USI_GPR64u64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsd_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP64_To_UInt32_Truncate(a[63:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTTSD2USI" xed="VCVTTSD2USI_GPR32u32_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsd_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to an unsigned 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_UInt64_Truncate(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTTSD2USI" xed="VCVTTSD2USI_GPR64u64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundss_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSS2SI" xed="VCVTTSS2SI_GPR32i32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundss_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64_Truncate(a[31:0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSS2SI" xed="VCVTTSS2SI_GPR64i64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundss_si32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSS2SI" xed="VCVTTSS2SI_GPR32i32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundss_si64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64_Truncate(a[31:0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSS2SI" xed="VCVTTSS2SI_GPR64i64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttss_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTTSS2SI" xed="VCVTTSS2SI_GPR32i32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttss_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64_Truncate(a[31:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTTSS2SI" xed="VCVTTSS2SI_GPR64i64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundss_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 32-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[31:0] := Convert_FP32_To_UInt32_Truncate(a[31:0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSS2USI" xed="VCVTTSS2USI_GPR32u32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundss_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 64-bit integer with truncation, and store the result in "dst".
	[sae_note]</description>
	<operation>
dst[63:0] := Convert_FP32_To_UInt64_Truncate(a[31:0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSS2USI" xed="VCVTTSS2USI_GPR64u64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttss_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_UInt32_Truncate(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="VCVTTSS2USI" xed="VCVTTSS2USI_GPR32u32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttss_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to an unsigned 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP32_To_UInt64_Truncate(a[31:0])
	</operation>
	<instruction form="r64, xmm" name="VCVTTSS2USI" xed="VCVTTSS2USI_GPR64u64_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	dst[i+63:i] := Convert_Int64_To_FP64(a[l+31:l])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_ZMMf64_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_ZMMf64_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu32_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[i+63:i] := Convert_Int64_To_FP64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTUDQ2PD" xed="VCVTUDQ2PD_ZMMf64_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepu32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTUDQ2PS" xed="VCVTUDQ2PS_ZMMf32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTUDQ2PS" xed="VCVTUDQ2PS_ZMMf32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepu32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTUDQ2PS" xed="VCVTUDQ2PS_ZMMf32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTUDQ2PS" xed="VCVTUDQ2PS_ZMMf32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepu32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTUDQ2PS" xed="VCVTUDQ2PS_ZMMf32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu32_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	IF k[j]
		dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTUDQ2PS" xed="VCVTUDQ2PS_ZMMf32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundu64_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the unsigned 64-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". 
	[round_note]</description>
	<operation>
dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTUSI2SD" xed="VCVTUSI2SD_XMMf64_XMMf64_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtu32_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<description>Convert the unsigned 32-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_Int32_To_FP64(b[31:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32" name="VCVTUSI2SD" xed="VCVTUSI2SD_XMMf64_XMMf64_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtu64_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<description>Convert the unsigned 64-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64" name="VCVTUSI2SD" xed="VCVTUSI2SD_XMMf64_XMMf64_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundu32_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the unsigned 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
	[round_note]</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32 {er}" name="VCVTUSI2SS" xed="VCVTUSI2SS_XMMf32_XMMf32_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundu64_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the unsigned 64-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". 
	[round_note]</description>
	<operation>
dst[31:0] := Convert_Int64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTUSI2SS" xed="VCVTUSI2SS_XMMf32_XMMf32_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtu32_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<description>Convert the unsigned 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32" name="VCVTUSI2SS" xed="VCVTUSI2SS_XMMf32_XMMf32_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtu64_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<description>Convert the unsigned 64-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64" name="VCVTUSI2SS" xed="VCVTUSI2SS_XMMf32_XMMf32_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 8*j
	dst[k+7:k] := Truncate8(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, zmm" name="VPMOVDB" xed="VPMOVDB_MEMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVDB" xed="VPMOVDB_XMMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 16*j
	dst[k+15:k] := Truncate16(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVDW" xed="VPMOVDW_YMMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVDW" xed="VPMOVDW_YMMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Truncate16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVDW" xed="VPMOVDW_MEMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed 32-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVDW" xed="VPMOVDW_YMMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 8*j
	dst[k+7:k] := Truncate8(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Truncate8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, zmm" name="VPMOVQB" xed="VPMOVQB_MEMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 8-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Truncate8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVQB" xed="VPMOVQB_XMMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 32*j
	dst[k+31:k] := Truncate32(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVQD" xed="VPMOVQD_YMMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Truncate32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVQD" xed="VPMOVQD_YMMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := Truncate32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVQD" xed="VPMOVQD_MEMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Truncate32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVQD" xed="VPMOVQD_YMMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 16*j
	dst[k+15:k] := Truncate16(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Truncate16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, zmm" name="VPMOVQW" xed="VPMOVQW_MEMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed 64-bit integers in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Truncate16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVQW" xed="VPMOVQW_XMMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 8*j
	dst[k+7:k] := Saturate8(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, zmm" name="VPMOVSDB" xed="VPMOVSDB_MEMi8_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtsepi32_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVSDB" xed="VPMOVSDB_XMMi8_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 16*j
	dst[k+15:k] := Saturate16(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVSDW" xed="VPMOVSDW_YMMi16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVSDW" xed="VPMOVSDW_YMMi16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI16" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Saturate16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVSDW" xed="VPMOVSDW_MEMi16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtsepi32_epi16" tech="AVX-512">
	<return etype="SI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVSDW" xed="VPMOVSDW_YMMi16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 8*j
	dst[k+7:k] := Saturate8(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := Saturate8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, zmm" name="VPMOVSQB" xed="VPMOVSQB_MEMi8_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtsepi64_epi8" tech="AVX-512">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 8-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := Saturate8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVSQB" xed="VPMOVSQB_XMMi8_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 32*j
	dst[k+31:k] := Saturate32(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVSQD" xed="VPMOVSQD_YMMi32_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Saturate32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVSQD" xed="VPMOVSQD_YMMi32_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI32" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := Saturate32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVSQD" xed="VPMOVSQD_MEMi32_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtsepi64_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 32-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := Saturate32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVSQD" xed="VPMOVSQD_YMMi32_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 16*j
	dst[k+15:k] := Saturate16(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtsepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="SI16" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := Saturate16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, zmm" name="VPMOVSQW" xed="VPMOVSQW_MEMi16_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtsepi64_epi16" tech="AVX-512">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed 16-bit integers with signed saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := Saturate16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVSQW" xed="VPMOVSQW_XMMi16_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi8_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 8*j
	dst[i+31:i] := SignExtend32(a[k+7:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_ZMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi8_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_ZMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi8_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPMOVSXBD" xed="VPMOVSXBD_ZMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi8_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 8*j
	dst[i+63:i] := SignExtend64(a[k+7:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_ZMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi8_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_ZMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi8_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPMOVSXBQ" xed="VPMOVSXBQ_ZMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi32_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 32*j
	dst[i+63:i] := SignExtend64(a[k+31:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VPMOVSXDQ" xed="VPMOVSXDQ_ZMMi64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VPMOVSXDQ" xed="VPMOVSXDQ_ZMMi64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi32_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VPMOVSXDQ" xed="VPMOVSXDQ_ZMMi64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi16_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 16*j
	dst[i+31:i] := SignExtend32(a[k+15:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VPMOVSXWD" xed="VPMOVSXWD_ZMMi32_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi16_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	l := j*16
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VPMOVSXWD" xed="VPMOVSXWD_ZMMi32_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi16_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := SignExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VPMOVSXWD" xed="VPMOVSXWD_ZMMi32_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi16_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 16*j
	dst[i+63:i] := SignExtend64(a[k+15:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_ZMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi16_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_ZMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi16_epi64" tech="AVX-512">
	<return etype="SI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := SignExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPMOVSXWQ" xed="VPMOVSXWQ_ZMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 8*j
	dst[k+7:k] := SaturateU8(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+31:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi32_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, zmm" name="VPMOVUSDB" xed="VPMOVUSDB_MEMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtusepi32_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+31:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVUSDB" xed="VPMOVUSDB_XMMu8_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 16*j
	dst[k+15:k] := SaturateU16(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVUSDW" xed="VPMOVUSDW_YMMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+31:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVUSDW" xed="VPMOVUSDW_YMMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi32_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := SaturateU16(a[i+31:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVUSDW" xed="VPMOVUSDW_MEMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtusepi32_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+31:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVUSDW" xed="VPMOVUSDW_YMMu16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 8*j
	dst[k+7:k] := SaturateU8(a[i+63:i])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+63:i])
	ELSE
		dst[l+7:l] := src[l+7:l]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi64_storeu_epi8" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		MEM[base_addr+l+7:base_addr+l] := SaturateU8(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m64 {k}, zmm" name="VPMOVUSQB" xed="VPMOVUSQB_MEMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtusepi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 8-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[l+7:l] := SaturateU8(a[i+63:i])
	ELSE
		dst[l+7:l] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVUSQB" xed="VPMOVUSQB_XMMu8_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 32*j
	dst[k+31:k] := SaturateU32(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VPMOVUSQD" xed="VPMOVUSQD_YMMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := SaturateU32(a[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VPMOVUSQD" xed="VPMOVUSQD_YMMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi64_storeu_epi32" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI32" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed 32-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		MEM[base_addr+l+31:base_addr+l] := SaturateU32(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, zmm" name="VPMOVUSQD" xed="VPMOVUSQD_MEMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtusepi64_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 32-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[l+31:l] := SaturateU32(a[i+63:i])
	ELSE
		dst[l+31:l] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VPMOVUSQD" xed="VPMOVUSQD_YMMu32_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 16*j
	dst[k+15:k] := SaturateU16(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+63:i])
	ELSE
		dst[l+15:l] := src[l+15:l]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtusepi64_storeu_epi16" tech="AVX-512">
	<category>Store</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		MEM[base_addr+l+15:base_addr+l] := SaturateU16(a[i+63:i])
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, zmm" name="VPMOVUSQW" xed="VPMOVUSQW_MEMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtusepi64_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed unsigned 16-bit integers with unsigned saturation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[l+15:l] := SaturateU16(a[i+63:i])
	ELSE
		dst[l+15:l] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VPMOVUSQW" xed="VPMOVUSQW_XMMu16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 8*j
	dst[i+31:i] := ZeroExtend32(a[k+7:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_ZMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_ZMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu8_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 8*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+7:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPMOVZXBD" xed="VPMOVZXBD_ZMMi32_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu8_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 8 byte sof "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 8*j
	dst[i+63:i] := ZeroExtend64(a[k+7:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_ZMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu8_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_ZMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu8_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 8*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+7:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPMOVZXBQ" xed="VPMOVZXBQ_ZMMi64_MASKmskw_XMMi8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu32_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 32*j
	dst[i+63:i] := ZeroExtend64(a[k+31:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VPMOVZXDQ" xed="VPMOVZXDQ_ZMMi64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu32_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+31:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VPMOVZXDQ" xed="VPMOVZXDQ_ZMMi64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu32_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 32*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+31:l])
	ELSE 
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VPMOVZXDQ" xed="VPMOVZXDQ_ZMMi64_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu16_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	k := 16*j
	dst[i+31:i] := ZeroExtend32(a[k+15:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VPMOVZXWD" xed="VPMOVZXWD_ZMMi32_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu16_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VPMOVZXWD" xed="VPMOVZXWD_ZMMi32_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu16_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := 32*j
	l := 16*j
	IF k[j]
		dst[i+31:i] := ZeroExtend32(a[l+15:l])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VPMOVZXWD" xed="VPMOVZXWD_ZMMi32_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu16_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	k := 16*j
	dst[i+63:i] := ZeroExtend64(a[k+15:k])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_ZMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu16_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_ZMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu16_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := 64*j
	l := 16*j
	IF k[j]
		dst[i+63:i] := ZeroExtend64(a[l+15:l])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VPMOVZXWQ" xed="VPMOVZXWQ_ZMMi64_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtss_f32" tech="AVX-512" vexEq="TRUE">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Copy the lower single-precision (32-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="m32, xmm" name="VMOVSS" xed="VMOVSS_MEMf32_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsd_f64" tech="AVX-512" vexEq="TRUE">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Copy the lower double-precision (64-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="m64, xmm" name="VMOVSD" xed="VMOVSD_MEMq_XMMq" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsi512_si32" tech="AVX-512" vexEq="TRUE">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Copy the lower 32-bit integer in "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="r32, xmm" name="VMOVD" xed="VMOVD_GPR32u32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMAXPD" xed="VMAXPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).   [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}" name="VMAXPD" xed="VMAXPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMAXPD" xed="VMAXPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}" name="VMAXPD" xed="VMAXPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMAXPD" xed="VMAXPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst".  [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}" name="VMAXPD" xed="VMAXPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMAXPS" xed="VMAXPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).   [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}" name="VMAXPS" xed="VMAXPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMAXPS" xed="VMAXPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}" name="VMAXPS" xed="VMAXPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMAXPS" xed="VMAXPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst".  [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}" name="VMAXPS" xed="VMAXPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [sae_note][max_float_note]</description>
	<operation>
IF k[0]
	dst[63:0] := MAX(a[63:0], b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VMAXSD" xed="VMAXSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := MAX(a[63:0], b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMAXSD" xed="VMAXSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [sae_note][max_float_note]</description>
	<operation>
IF k[0]
	dst[63:0] := MAX(a[63:0], b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VMAXSD" xed="VMAXSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := MAX(a[63:0], b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMAXSD" xed="VMAXSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [sae_note][max_float_note]</description>
	<operation>
dst[63:0] := MAX(a[63:0], b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VMAXSD" xed="VMAXSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note][max_float_note]</description>
	<operation>
IF k[0]
	dst[31:0] := MAX(a[31:0], b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VMAXSS" xed="VMAXSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := MAX(a[31:0], b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMAXSS" xed="VMAXSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note][max_float_note]</description>
	<operation>
IF k[0]
	dst[31:0] := MAX(a[31:0], b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VMAXSS" xed="VMAXSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := MAX(a[31:0], b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMAXSS" xed="VMAXSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note][max_float_note]</description>
	<operation>
dst[31:0] := MAX(a[31:0], b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VMAXSS" xed="VMAXSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMINPD" xed="VMINPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).   [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}" name="VMINPD" xed="VMINPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMINPD" xed="VMINPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}" name="VMINPD" xed="VMINPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMINPD" xed="VMINPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst".  [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}" name="VMINPD" xed="VMINPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMINPS" xed="VMINPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).   [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}" name="VMINPS" xed="VMINPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMINPS" xed="VMINPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}" name="VMINPS" xed="VMINPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMINPS" xed="VMINPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst".  [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}" name="VMINPS" xed="VMINPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [sae_note][min_float_note]</description>
	<operation>
IF k[0]
	dst[63:0] := MIN(a[63:0], b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VMINSD" xed="VMINSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := MIN(a[63:0], b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMINSD" xed="VMINSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [sae_note][min_float_note]</description>
	<operation>
IF k[0]
	dst[63:0] := MIN(a[63:0], b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VMINSD" xed="VMINSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := MIN(a[63:0], b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMINSD" xed="VMINSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" , and copy the upper element from "a" to the upper element of "dst". [sae_note][min_float_note]</description>
	<operation>
dst[63:0] := MIN(a[63:0], b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VMINSD" xed="VMINSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note][min_float_note]</description>
	<operation>
IF k[0]
	dst[31:0] := MIN(a[31:0], b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VMINSS" xed="VMINSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := MIN(a[31:0], b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMINSS" xed="VMINSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note][min_float_note]</description>
	<operation>
IF k[0]
	dst[31:0] := MIN(a[31:0], b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VMINSS" xed="VMINSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := MIN(a[31:0], b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMINSS" xed="VMINSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note][min_float_note]</description>
	<operation>
dst[31:0] := MIN(a[31:0], b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VMINSS" xed="VMINSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_abs_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ABS(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPABSD" xed="VPABSD_ZMMi32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_abs_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ABS(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPABSD" xed="VPABSD_ZMMi32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_abs_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ABS(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPABSD" xed="VPABSD_ZMMi32_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ABS(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPABSQ" xed="VPABSQ_ZMMi64_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ABS(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPABSQ" xed="VPABSQ_ZMMi64_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_abs_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Compute the absolute value of packed signed 64-bit integers in "a", and store the unsigned results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ABS(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPABSQ" xed="VPABSQ_ZMMi64_MASKmskw_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0 
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXSD" xed="VPMAXSD_ZMMi32_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXSQ" xed="VPMAXSQ_ZMMi64_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXSQ" xed="VPMAXSQ_ZMMi64_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXSQ" xed="VPMAXSQ_ZMMi64_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXUD" xed="VPMAXUD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXUQ" xed="VPMAXUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMAXUQ" xed="VPMAXUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXUQ" xed="VPMAXUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINSD" xed="VPMINSD_ZMMi32_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINSQ" xed="VPMINSQ_ZMMi64_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINSQ" xed="VPMINSQ_ZMMi64_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="SI64" type="__m512i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINSQ" xed="VPMINSQ_ZMMi64_MASKmskw_ZMMi64_ZMMi64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINUD" xed="VPMINUD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINUQ" xed="VPMINUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMINUQ" xed="VPMINUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compare packed unsigned 64-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINUQ" xed="VPMINUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mov_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Move packed double-precision (64-bit) floating-point elements from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVAPD" xed="VMOVAPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mov_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Move packed single-precision (32-bit) floating-point elements from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVAPS" xed="VMOVAPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_movedup_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[63:0] := a[63:0]
tmp[127:64] := a[63:0]
tmp[191:128] := a[191:128]
tmp[255:192] := a[191:128]
tmp[319:256] := a[319:256] 
tmp[383:320] := a[319:256] 
tmp[447:384] := a[447:384]
tmp[511:448] := a[447:384]
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVDDUP" xed="VMOVDDUP_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_movedup_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[63:0] := a[63:0]
tmp[127:64] := a[63:0]
tmp[191:128] := a[191:128]
tmp[255:192] := a[191:128]
tmp[319:256] := a[319:256] 
tmp[383:320] := a[319:256] 
tmp[447:384] := a[447:384]
tmp[511:448] := a[447:384]
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := tmp[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVDDUP" xed="VMOVDDUP_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_movedup_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Duplicate even-indexed double-precision (64-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := a[63:0]
dst[191:128] := a[191:128]
dst[255:192] := a[191:128]
dst[319:256] := a[319:256]
dst[383:320] := a[319:256]
dst[447:384] := a[447:384]
dst[511:448] := a[447:384]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VMOVDDUP" xed="VMOVDDUP_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mov_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Move packed 32-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVDQA32" xed="VMOVDQA32_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mov_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Move packed 64-bit integers from "a" into "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVDQA64" xed="VMOVDQA64_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_move_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Move the lower double-precision (64-bit) floating-point element from "b" to the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := b[63:0]
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMOVSD" xed="VMOVSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_move_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Move the lower double-precision (64-bit) floating-point element from "b" to the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := b[63:0]
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMOVSD" xed="VMOVSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_movehdup_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[63:32] 
tmp[63:32] := a[63:32] 
tmp[95:64] := a[127:96] 
tmp[127:96] := a[127:96]
tmp[159:128] := a[191:160] 
tmp[191:160] := a[191:160] 
tmp[223:192] := a[255:224] 
tmp[255:224] := a[255:224]
tmp[287:256] := a[319:288] 
tmp[319:288] := a[319:288] 
tmp[351:320] := a[383:352] 
tmp[383:352] := a[383:352] 
tmp[415:384] := a[447:416] 
tmp[447:416] := a[447:416] 
tmp[479:448] := a[511:480]
tmp[511:480] := a[511:480]
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVSHDUP" xed="VMOVSHDUP_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_movehdup_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[63:32] 
tmp[63:32] := a[63:32] 
tmp[95:64] := a[127:96] 
tmp[127:96] := a[127:96]
tmp[159:128] := a[191:160] 
tmp[191:160] := a[191:160] 
tmp[223:192] := a[255:224] 
tmp[255:224] := a[255:224]
tmp[287:256] := a[319:288] 
tmp[319:288] := a[319:288] 
tmp[351:320] := a[383:352] 
tmp[383:352] := a[383:352] 
tmp[415:384] := a[447:416] 
tmp[447:416] := a[447:416] 
tmp[479:448] := a[511:480]
tmp[511:480] := a[511:480]
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVSHDUP" xed="VMOVSHDUP_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_movehdup_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] 
dst[63:32] := a[63:32] 
dst[95:64] := a[127:96] 
dst[127:96] := a[127:96]
dst[159:128] := a[191:160] 
dst[191:160] := a[191:160] 
dst[223:192] := a[255:224] 
dst[255:224] := a[255:224]
dst[287:256] := a[319:288] 
dst[319:288] := a[319:288] 
dst[351:320] := a[383:352] 
dst[383:352] := a[383:352] 
dst[415:384] := a[447:416] 
dst[447:416] := a[447:416] 
dst[479:448] := a[511:480]
dst[511:480] := a[511:480]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VMOVSHDUP" xed="VMOVSHDUP_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_moveldup_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[31:0] 
tmp[63:32] := a[31:0] 
tmp[95:64] := a[95:64] 
tmp[127:96] := a[95:64]
tmp[159:128] := a[159:128] 
tmp[191:160] := a[159:128] 
tmp[223:192] := a[223:192] 
tmp[255:224] := a[223:192]
tmp[287:256] := a[287:256] 
tmp[319:288] := a[287:256] 
tmp[351:320] := a[351:320] 
tmp[383:352] := a[351:320] 
tmp[415:384] := a[415:384] 
tmp[447:416] := a[415:384] 
tmp[479:448] := a[479:448]
tmp[511:480] := a[479:448]
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVSLDUP" xed="VMOVSLDUP_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_moveldup_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
tmp[31:0] := a[31:0] 
tmp[63:32] := a[31:0] 
tmp[95:64] := a[95:64] 
tmp[127:96] := a[95:64]
tmp[159:128] := a[159:128] 
tmp[191:160] := a[159:128] 
tmp[223:192] := a[223:192] 
tmp[255:224] := a[223:192]
tmp[287:256] := a[287:256] 
tmp[319:288] := a[287:256] 
tmp[351:320] := a[351:320] 
tmp[383:352] := a[351:320] 
tmp[415:384] := a[415:384] 
tmp[447:416] := a[415:384] 
tmp[479:448] := a[479:448]
tmp[511:480] := a[479:448]
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VMOVSLDUP" xed="VMOVSLDUP_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_moveldup_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] 
dst[63:32] := a[31:0] 
dst[95:64] := a[95:64] 
dst[127:96] := a[95:64]
dst[159:128] := a[159:128] 
dst[191:160] := a[159:128] 
dst[223:192] := a[223:192] 
dst[255:224] := a[223:192]
dst[287:256] := a[287:256] 
dst[319:288] := a[287:256] 
dst[351:320] := a[351:320] 
dst[383:352] := a[351:320] 
dst[415:384] := a[415:384] 
dst[447:416] := a[415:384] 
dst[479:448] := a[479:448]
dst[511:480] := a[479:448]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VMOVSLDUP" xed="VMOVSLDUP_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_move_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Move the lower single-precision (32-bit) floating-point element from "b" to the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := b[31:0]
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMOVSS" xed="VMOVSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_move_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Move the lower single-precision (32-bit) floating-point element from "b" to the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := b[31:0]
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMOVSS" xed="VMOVSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_and_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] AND b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPANDD" xed="VPANDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_andnot_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise NOT of packed 32-bit integers in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (NOT a[i+31:i]) AND b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPANDND" xed="VPANDND_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_andnot_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise NOT of packed 64-bit integers in "a" and then AND with "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (NOT a[i+63:i]) AND b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPANDNQ" xed="VPANDNQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_and_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] AND b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPANDQ" xed="VPANDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPORD" xed="VPORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPORQ" xed="VPORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using writemask "k" at 32-bit granularity (32-bit elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 15
	i := j*32
	IF k[j]
		FOR h := 0 to 31
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using zeromask "k" at 32-bit granularity (32-bit elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 15
	i := j*32
	IF k[j]
		FOR h := 0 to 31
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_ternarylogic_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 32-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst".</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 15
	i := j*32
	FOR h := 0 to 31
		dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPTERNLOGD" xed="VPTERNLOGD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using writemask "k" at 64-bit granularity (64-bit elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 7
	i := j*64
	IF k[j]
		FOR h := 0 to 63
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst" using zeromask "k" at 64-bit granularity (64-bit elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 7
	i := j*64
	IF k[j]
		FOR h := 0 to 63
			dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
		ENDFOR
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_ternarylogic_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in "imm8". For each bit in each packed 64-bit integer, the corresponding bit from "a", "b", and "c" are used according to "imm8", and the result is written to the corresponding bit in "dst".</description>
	<operation>
DEFINE TernaryOP(imm8, a, b, c) {
	CASE imm8[7:0] OF
	0: dst[0] := 0                   // imm8[7:0] := 0
	1: dst[0] := NOT (a OR b OR c)   // imm8[7:0] := NOT (_MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C)
	// ...
	254: dst[0] := a OR b OR c       // imm8[7:0] := _MM_TERNLOG_A OR _MM_TERNLOG_B OR _MM_TERNLOG_C
	255: dst[0] := 1                 // imm8[7:0] := 1
	ESAC
}
imm8[7:0] = LogicExp(_MM_TERNLOG_A, _MM_TERNLOG_B, _MM_TERNLOG_C)
FOR j := 0 to 7
	i := j*64
	FOR h := 0 to 63
		dst[i+h] := TernaryOP(imm8[7:0], a[i+h], b[i+h], c[i+h])
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPTERNLOGQ" xed="VPTERNLOGQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_test_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ((a[i+63:i] AND b[i+63:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTMQ" xed="VPTESTMQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_test_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ((a[i+63:i] AND b[i+63:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTMQ" xed="VPTESTMQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_testn_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] AND b[i+31:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTNMD" xed="VPTESTNMD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_testn_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ((a[i+31:i] AND b[i+31:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTNMD" xed="VPTESTNMD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_testn_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ((a[i+63:i] AND b[i+63:i]) == 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTNMQ" xed="VPTESTNMQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_testn_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise NAND of packed 64-bit integers in "a" and "b", producing intermediate 64-bit values, and set the corresponding bit in result mask "k" if the intermediate value is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := ((a[i+63:i] AND b[i+63:i]) == 0) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTNMQ" xed="VPTESTNMQ_MASKmskw_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPXORD" xed="VPXORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := a[7:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, r8" name="VPBROADCASTB" xed="VPBROADCASTB_ZMMu8_MASKmskw_GPR32u8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_set1_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, r32" name="VPBROADCASTD" xed="VPBROADCASTD_ZMMu32_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_set1_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[31:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, r32" name="VPBROADCASTD" xed="VPBROADCASTD_ZMMu32_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, r32" name="VPBROADCASTD" xed="VPBROADCASTD_ZMMu32_MASKmskw_GPR32u32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_set1_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, r64" name="VPBROADCASTQ" xed="VPBROADCASTQ_ZMMu64_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_set1_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[63:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, r64" name="VPBROADCASTQ" xed="VPBROADCASTQ_ZMMu64_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, r64" name="VPBROADCASTQ" xed="VPBROADCASTQ_ZMMu64_MASKmskw_GPR64u64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast the low packed 16-bit integer from "a" to all all elements of "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := a[15:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, r16" name="VPBROADCASTW" xed="VPBROADCASTW_ZMMu16_MASKmskw_GPR32u16_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Broadcast double-precision (64-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Broadcast single-precision (32-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set4_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="int" varname="d" />
	<parameter etype="UI32" type="int" varname="c" />
	<parameter etype="UI32" type="int" varname="b" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Set packed 32-bit integers in "dst" with the repeated 4 element sequence.</description>
	<operation>
dst[31:0] := a
dst[63:32] := b
dst[95:64] := c
dst[127:96] := d
dst[159:128] := a
dst[191:160] := b
dst[223:192] := c
dst[255:224] := d
dst[287:256] := a
dst[319:288] := b
dst[351:320] := c
dst[383:352] := d
dst[415:384] := a
dst[447:416] := b
dst[479:448] := c
dst[511:480] := d
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set4_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="d" />
	<parameter etype="UI64" type="__int64" varname="c" />
	<parameter etype="UI64" type="__int64" varname="b" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Set packed 64-bit integers in "dst" with the repeated 4 element sequence.</description>
	<operation>
dst[63:0] := a
dst[127:64] := b
dst[191:128] := c
dst[255:192] := d
dst[319:256] := a
dst[383:320] := b
dst[447:384] := c
dst[511:448] := d
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set4_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="double" varname="d" />
	<parameter etype="FP64" type="double" varname="c" />
	<parameter etype="FP64" type="double" varname="b" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the repeated 4 element sequence.</description>
	<operation>
dst[63:0] := a
dst[127:64] := b
dst[191:128] := c
dst[255:192] := d
dst[319:256] := a
dst[383:320] := b
dst[447:384] := c
dst[511:448] := d
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set4_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="float" varname="d" />
	<parameter etype="FP32" type="float" varname="c" />
	<parameter etype="FP32" type="float" varname="b" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the repeated 4 element sequence.</description>
	<operation>
dst[31:0] := a
dst[63:32] := b
dst[95:64] := c
dst[127:96] := d
dst[159:128] := a
dst[191:160] := b
dst[223:192] := c
dst[255:224] := d
dst[287:256] := a
dst[319:288] := b
dst[351:320] := c
dst[383:352] := d
dst[415:384] := a
dst[447:416] := b
dst[479:448] := c
dst[511:480] := d
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set_epi8" sequence="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="char" varname="e63" />
	<parameter etype="UI8" type="char" varname="e62" />
	<parameter etype="UI8" type="char" varname="e61" />
	<parameter etype="UI8" type="char" varname="e60" />
	<parameter etype="UI8" type="char" varname="e59" />
	<parameter etype="UI8" type="char" varname="e58" />
	<parameter etype="UI8" type="char" varname="e57" />
	<parameter etype="UI8" type="char" varname="e56" />
	<parameter etype="UI8" type="char" varname="e55" />
	<parameter etype="UI8" type="char" varname="e54" />
	<parameter etype="UI8" type="char" varname="e53" />
	<parameter etype="UI8" type="char" varname="e52" />
	<parameter etype="UI8" type="char" varname="e51" />
	<parameter etype="UI8" type="char" varname="e50" />
	<parameter etype="UI8" type="char" varname="e49" />
	<parameter etype="UI8" type="char" varname="e48" />
	<parameter etype="UI8" type="char" varname="e47" />
	<parameter etype="UI8" type="char" varname="e46" />
	<parameter etype="UI8" type="char" varname="e45" />
	<parameter etype="UI8" type="char" varname="e44" />
	<parameter etype="UI8" type="char" varname="e43" />
	<parameter etype="UI8" type="char" varname="e42" />
	<parameter etype="UI8" type="char" varname="e41" />
	<parameter etype="UI8" type="char" varname="e40" />
	<parameter etype="UI8" type="char" varname="e39" />
	<parameter etype="UI8" type="char" varname="e38" />
	<parameter etype="UI8" type="char" varname="e37" />
	<parameter etype="UI8" type="char" varname="e36" />
	<parameter etype="UI8" type="char" varname="e35" />
	<parameter etype="UI8" type="char" varname="e34" />
	<parameter etype="UI8" type="char" varname="e33" />
	<parameter etype="UI8" type="char" varname="e32" />
	<parameter etype="UI8" type="char" varname="e31" />
	<parameter etype="UI8" type="char" varname="e30" />
	<parameter etype="UI8" type="char" varname="e29" />
	<parameter etype="UI8" type="char" varname="e28" />
	<parameter etype="UI8" type="char" varname="e27" />
	<parameter etype="UI8" type="char" varname="e26" />
	<parameter etype="UI8" type="char" varname="e25" />
	<parameter etype="UI8" type="char" varname="e24" />
	<parameter etype="UI8" type="char" varname="e23" />
	<parameter etype="UI8" type="char" varname="e22" />
	<parameter etype="UI8" type="char" varname="e21" />
	<parameter etype="UI8" type="char" varname="e20" />
	<parameter etype="UI8" type="char" varname="e19" />
	<parameter etype="UI8" type="char" varname="e18" />
	<parameter etype="UI8" type="char" varname="e17" />
	<parameter etype="UI8" type="char" varname="e16" />
	<parameter etype="UI8" type="char" varname="e15" />
	<parameter etype="UI8" type="char" varname="e14" />
	<parameter etype="UI8" type="char" varname="e13" />
	<parameter etype="UI8" type="char" varname="e12" />
	<parameter etype="UI8" type="char" varname="e11" />
	<parameter etype="UI8" type="char" varname="e10" />
	<parameter etype="UI8" type="char" varname="e9" />
	<parameter etype="UI8" type="char" varname="e8" />
	<parameter etype="UI8" type="char" varname="e7" />
	<parameter etype="UI8" type="char" varname="e6" />
	<parameter etype="UI8" type="char" varname="e5" />
	<parameter etype="UI8" type="char" varname="e4" />
	<parameter etype="UI8" type="char" varname="e3" />
	<parameter etype="UI8" type="char" varname="e2" />
	<parameter etype="UI8" type="char" varname="e1" />
	<parameter etype="UI8" type="char" varname="e0" />
	<description>Set packed 8-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[7:0] := e0
dst[15:8] := e1
dst[23:16] := e2
dst[31:24] := e3
dst[39:32] := e4
dst[47:40] := e5
dst[55:48] := e6
dst[63:56] := e7
dst[71:64] := e8
dst[79:72] := e9
dst[87:80] := e10
dst[95:88] := e11
dst[103:96] := e12
dst[111:104] := e13
dst[119:112] := e14
dst[127:120] := e15
dst[135:128] := e16
dst[143:136] := e17
dst[151:144] := e18
dst[159:152] := e19
dst[167:160] := e20
dst[175:168] := e21
dst[183:176] := e22
dst[191:184] := e23
dst[199:192] := e24
dst[207:200] := e25
dst[215:208] := e26
dst[223:216] := e27
dst[231:224] := e28
dst[239:232] := e29
dst[247:240] := e30
dst[255:248] := e31
dst[263:256] := e32
dst[271:264] := e33
dst[279:272] := e34
dst[287:280] := e35
dst[295:288] := e36
dst[303:296] := e37
dst[311:304] := e38
dst[319:312] := e39
dst[327:320] := e40
dst[335:328] := e41
dst[343:336] := e42
dst[351:344] := e43
dst[359:352] := e44
dst[367:360] := e45
dst[375:368] := e46
dst[383:376] := e47
dst[391:384] := e48
dst[399:392] := e49
dst[407:400] := e50
dst[415:408] := e51
dst[423:416] := e52
dst[431:424] := e53
dst[439:432] := e54
dst[447:440] := e55
dst[455:448] := e56
dst[463:456] := e57
dst[471:464] := e58
dst[479:472] := e59
dst[487:480] := e60
dst[495:488] := e61
dst[503:496] := e62
dst[511:504] := e63
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set_epi16" sequence="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="short" varname="e31" />
	<parameter etype="UI16" type="short" varname="e30" />
	<parameter etype="UI16" type="short" varname="e29" />
	<parameter etype="UI16" type="short" varname="e28" />
	<parameter etype="UI16" type="short" varname="e27" />
	<parameter etype="UI16" type="short" varname="e26" />
	<parameter etype="UI16" type="short" varname="e25" />
	<parameter etype="UI16" type="short" varname="e24" />
	<parameter etype="UI16" type="short" varname="e23" />
	<parameter etype="UI16" type="short" varname="e22" />
	<parameter etype="UI16" type="short" varname="e21" />
	<parameter etype="UI16" type="short" varname="e20" />
	<parameter etype="UI16" type="short" varname="e19" />
	<parameter etype="UI16" type="short" varname="e18" />
	<parameter etype="UI16" type="short" varname="e17" />
	<parameter etype="UI16" type="short" varname="e16" />
	<parameter etype="UI16" type="short" varname="e15" />
	<parameter etype="UI16" type="short" varname="e14" />
	<parameter etype="UI16" type="short" varname="e13" />
	<parameter etype="UI16" type="short" varname="e12" />
	<parameter etype="UI16" type="short" varname="e11" />
	<parameter etype="UI16" type="short" varname="e10" />
	<parameter etype="UI16" type="short" varname="e9" />
	<parameter etype="UI16" type="short" varname="e8" />
	<parameter etype="UI16" type="short" varname="e7" />
	<parameter etype="UI16" type="short" varname="e6" />
	<parameter etype="UI16" type="short" varname="e5" />
	<parameter etype="UI16" type="short" varname="e4" />
	<parameter etype="UI16" type="short" varname="e3" />
	<parameter etype="UI16" type="short" varname="e2" />
	<parameter etype="UI16" type="short" varname="e1" />
	<parameter etype="UI16" type="short" varname="e0" />
	<description>Set packed 16-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[15:0] := e0
dst[31:16] := e1
dst[47:32] := e2
dst[63:48] := e3
dst[79:64] := e4
dst[95:80] := e5
dst[111:96] := e6
dst[127:112] := e7
dst[143:128] := e8
dst[159:144] := e9
dst[175:160] := e10
dst[191:176] := e11
dst[207:192] := e12
dst[223:208] := e13
dst[239:224] := e14
dst[255:240] := e15
dst[271:256] := e16
dst[287:272] := e17
dst[303:288] := e18
dst[319:304] := e19
dst[335:320] := e20
dst[351:336] := e21
dst[367:352] := e22
dst[383:368] := e23
dst[399:384] := e24
dst[415:400] := e25
dst[431:416] := e26
dst[447:432] := e27
dst[463:448] := e28
dst[479:464] := e29
dst[495:480] := e30
dst[511:496] := e31
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="int" varname="e15" />
	<parameter etype="UI32" type="int" varname="e14" />
	<parameter etype="UI32" type="int" varname="e13" />
	<parameter etype="UI32" type="int" varname="e12" />
	<parameter etype="UI32" type="int" varname="e11" />
	<parameter etype="UI32" type="int" varname="e10" />
	<parameter etype="UI32" type="int" varname="e9" />
	<parameter etype="UI32" type="int" varname="e8" />
	<parameter etype="UI32" type="int" varname="e7" />
	<parameter etype="UI32" type="int" varname="e6" />
	<parameter etype="UI32" type="int" varname="e5" />
	<parameter etype="UI32" type="int" varname="e4" />
	<parameter etype="UI32" type="int" varname="e3" />
	<parameter etype="UI32" type="int" varname="e2" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[31:0] := e0
dst[63:32] := e1
dst[95:64] := e2
dst[127:96] := e3
dst[159:128] := e4
dst[191:160] := e5
dst[223:192] := e6
dst[255:224] := e7
dst[287:256] := e8
dst[319:288] := e9
dst[351:320] := e10
dst[383:352] := e11
dst[415:384] := e12
dst[447:416] := e13
dst[479:448] := e14
dst[511:480] := e15
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="e7" />
	<parameter etype="UI64" type="__int64" varname="e6" />
	<parameter etype="UI64" type="__int64" varname="e5" />
	<parameter etype="UI64" type="__int64" varname="e4" />
	<parameter etype="UI64" type="__int64" varname="e3" />
	<parameter etype="UI64" type="__int64" varname="e2" />
	<parameter etype="UI64" type="__int64" varname="e1" />
	<parameter etype="UI64" type="__int64" varname="e0" />
	<description>Set packed 64-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[63:0] := e0
dst[127:64] := e1
dst[191:128] := e2
dst[255:192] := e3
dst[319:256] := e4
dst[383:320] := e5
dst[447:384] := e6
dst[511:448] := e7
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="double" varname="e7" />
	<parameter etype="FP64" type="double" varname="e6" />
	<parameter etype="FP64" type="double" varname="e5" />
	<parameter etype="FP64" type="double" varname="e4" />
	<parameter etype="FP64" type="double" varname="e3" />
	<parameter etype="FP64" type="double" varname="e2" />
	<parameter etype="FP64" type="double" varname="e1" />
	<parameter etype="FP64" type="double" varname="e0" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst[63:0] := e0
dst[127:64] := e1
dst[191:128] := e2
dst[255:192] := e3
dst[319:256] := e4
dst[383:320] := e5
dst[447:384] := e6
dst[511:448] := e7
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="float" varname="e15" />
	<parameter etype="FP32" type="float" varname="e14" />
	<parameter etype="FP32" type="float" varname="e13" />
	<parameter etype="FP32" type="float" varname="e12" />
	<parameter etype="FP32" type="float" varname="e11" />
	<parameter etype="FP32" type="float" varname="e10" />
	<parameter etype="FP32" type="float" varname="e9" />
	<parameter etype="FP32" type="float" varname="e8" />
	<parameter etype="FP32" type="float" varname="e7" />
	<parameter etype="FP32" type="float" varname="e6" />
	<parameter etype="FP32" type="float" varname="e5" />
	<parameter etype="FP32" type="float" varname="e4" />
	<parameter etype="FP32" type="float" varname="e3" />
	<parameter etype="FP32" type="float" varname="e2" />
	<parameter etype="FP32" type="float" varname="e1" />
	<parameter etype="FP32" type="float" varname="e0" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst[31:0] := e0
dst[63:32] := e1
dst[95:64] := e2
dst[127:96] := e3
dst[159:128] := e4
dst[191:160] := e5
dst[223:192] := e6
dst[255:224] := e7
dst[287:256] := e8
dst[319:288] := e9
dst[351:320] := e10
dst[383:352] := e11
dst[415:384] := e12
dst[447:416] := e13
dst[479:448] := e14
dst[511:480] := e15
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr4_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="int" varname="d" />
	<parameter etype="UI32" type="int" varname="c" />
	<parameter etype="UI32" type="int" varname="b" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Set packed 32-bit integers in "dst" with the repeated 4 element sequence in reverse order.</description>
	<operation>
dst[31:0] := d
dst[63:32] := c
dst[95:64] := b
dst[127:96] := a
dst[159:128] := d
dst[191:160] := c
dst[223:192] := b
dst[255:224] := a
dst[287:256] := d
dst[319:288] := c
dst[351:320] := b
dst[383:352] := a
dst[415:384] := d
dst[447:416] := c
dst[479:448] := b
dst[511:480] := a
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr4_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="d" />
	<parameter etype="UI64" type="__int64" varname="c" />
	<parameter etype="UI64" type="__int64" varname="b" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Set packed 64-bit integers in "dst" with the repeated 4 element sequence in reverse order.</description>
	<operation>
dst[63:0] := d
dst[127:64] := c
dst[191:128] := b
dst[255:192] := a
dst[319:256] := d
dst[383:320] := c
dst[447:384] := b
dst[511:448] := a
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr4_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="double" varname="d" />
	<parameter etype="FP64" type="double" varname="c" />
	<parameter etype="FP64" type="double" varname="b" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the repeated 4 element sequence in reverse order.</description>
	<operation>
dst[63:0] := d
dst[127:64] := c
dst[191:128] := b
dst[255:192] := a
dst[319:256] := d
dst[383:320] := c
dst[447:384] := b
dst[511:448] := a
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr4_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="float" varname="d" />
	<parameter etype="FP32" type="float" varname="c" />
	<parameter etype="FP32" type="float" varname="b" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the repeated 4 element sequence in reverse order.</description>
	<operation>
dst[31:0] := d
dst[63:32] := c
dst[95:64] := b
dst[127:96] := a
dst[159:128] := d
dst[191:160] := c
dst[223:192] := b
dst[255:224] := a
dst[287:256] := d
dst[319:288] := c
dst[351:320] := b
dst[383:352] := a
dst[415:384] := d
dst[447:416] := c
dst[479:448] := b
dst[511:480] := a
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="int" varname="e15" />
	<parameter etype="UI32" type="int" varname="e14" />
	<parameter etype="UI32" type="int" varname="e13" />
	<parameter etype="UI32" type="int" varname="e12" />
	<parameter etype="UI32" type="int" varname="e11" />
	<parameter etype="UI32" type="int" varname="e10" />
	<parameter etype="UI32" type="int" varname="e9" />
	<parameter etype="UI32" type="int" varname="e8" />
	<parameter etype="UI32" type="int" varname="e7" />
	<parameter etype="UI32" type="int" varname="e6" />
	<parameter etype="UI32" type="int" varname="e5" />
	<parameter etype="UI32" type="int" varname="e4" />
	<parameter etype="UI32" type="int" varname="e3" />
	<parameter etype="UI32" type="int" varname="e2" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[31:0] := e15
dst[63:32] := e14
dst[95:64] := e13
dst[127:96] := e12
dst[159:128] := e11
dst[191:160] := e10
dst[223:192] := e9
dst[255:224] := e8
dst[287:256] := e7
dst[319:288] := e6
dst[351:320] := e5
dst[383:352] := e4
dst[415:384] := e3
dst[447:416] := e2
dst[479:448] := e1
dst[511:480] := e0
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="e7" />
	<parameter etype="UI64" type="__int64" varname="e6" />
	<parameter etype="UI64" type="__int64" varname="e5" />
	<parameter etype="UI64" type="__int64" varname="e4" />
	<parameter etype="UI64" type="__int64" varname="e3" />
	<parameter etype="UI64" type="__int64" varname="e2" />
	<parameter etype="UI64" type="__int64" varname="e1" />
	<parameter etype="UI64" type="__int64" varname="e0" />
	<description>Set packed 64-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[63:0] := e7
dst[127:64] := e6
dst[191:128] := e5
dst[255:192] := e4
dst[319:256] := e3
dst[383:320] := e2
dst[447:384] := e1
dst[511:448] := e0
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="double" varname="e7" />
	<parameter etype="FP64" type="double" varname="e6" />
	<parameter etype="FP64" type="double" varname="e5" />
	<parameter etype="FP64" type="double" varname="e4" />
	<parameter etype="FP64" type="double" varname="e3" />
	<parameter etype="FP64" type="double" varname="e2" />
	<parameter etype="FP64" type="double" varname="e1" />
	<parameter etype="FP64" type="double" varname="e0" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[63:0] := e7
dst[127:64] := e6
dst[191:128] := e5
dst[255:192] := e4
dst[319:256] := e3
dst[383:320] := e2
dst[447:384] := e1
dst[511:448] := e0
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="float" varname="e15" />
	<parameter etype="FP32" type="float" varname="e14" />
	<parameter etype="FP32" type="float" varname="e13" />
	<parameter etype="FP32" type="float" varname="e12" />
	<parameter etype="FP32" type="float" varname="e11" />
	<parameter etype="FP32" type="float" varname="e10" />
	<parameter etype="FP32" type="float" varname="e9" />
	<parameter etype="FP32" type="float" varname="e8" />
	<parameter etype="FP32" type="float" varname="e7" />
	<parameter etype="FP32" type="float" varname="e6" />
	<parameter etype="FP32" type="float" varname="e5" />
	<parameter etype="FP32" type="float" varname="e4" />
	<parameter etype="FP32" type="float" varname="e3" />
	<parameter etype="FP32" type="float" varname="e2" />
	<parameter etype="FP32" type="float" varname="e1" />
	<parameter etype="FP32" type="float" varname="e0" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[31:0] := e15
dst[63:32] := e14
dst[95:64] := e13
dst[127:96] := e12
dst[159:128] := e11
dst[191:160] := e10
dst[223:192] := e9
dst[255:224] := e8
dst[287:256] := e7
dst[319:288] := e6
dst[351:320] := e5
dst[383:352] := e4
dst[415:384] := e3
dst[447:416] := e2
dst[479:448] := e1
dst[511:480] := e0
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setzero" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m512 with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setzero_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<description>Return vector of type __m512i with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setzero_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<description>Return vector of type __m512d with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setzero_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<description>Return vector of type __m512 with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setzero_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<description>Return vector of type __m512i with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPROLD" xed="VPROLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPROLD" xed="VPROLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_rol_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPROLD" xed="VPROLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPROLQ" xed="VPROLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPROLQ" xed="VPROLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_rol_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPROLQ" xed="VPROLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPROLVD" xed="VPROLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPROLVD" xed="VPROLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_rolv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := LEFT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPROLVD" xed="VPROLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPROLVQ" xed="VPROLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPROLVQ" xed="VPROLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_rolv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &lt;&lt; count) OR (src &gt;&gt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPROLVQ" xed="VPROLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPRORD" xed="VPRORD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPRORD" xed="VPRORD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_ror_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPRORD" xed="VPRORD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPRORQ" xed="VPRORQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPRORQ" xed="VPRORQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_ror_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPRORQ" xed="VPRORQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPRORVD" xed="VPRORVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_rorv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 32-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_DWORDS(src, count_src) {
	count := count_src % 32
	RETURN (src &gt;&gt;count) OR (src &lt;&lt; (32 - count))
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := RIGHT_ROTATE_DWORDS(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPRORVD" xed="VPRORVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPRORVQ" xed="VPRORVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPRORVQ" xed="VPRORVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_rorv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Rotate the bits in each packed 64-bit integer in "a" to the right by the number of bits specified in the corresponding element of "b", and store the results in "dst".</description>
	<operation>
DEFINE RIGHT_ROTATE_QWORDS(src, count_src) {
	count := count_src % 64
	RETURN (src &gt;&gt; count) OR (src &lt;&lt; (64 - count))
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := RIGHT_ROTATE_QWORDS(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPRORVQ" xed="VPRORVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sll_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSLLD" xed="VPSLLD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sll_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSLLD" xed="VPSLLD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_slli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSLLD" xed="VPSLLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sll_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSLLD" xed="VPSLLD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sll_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSLLQ" xed="VPSLLQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_slli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSLLQ" xed="VPSLLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sll_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSLLQ" xed="VPSLLQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_slli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSLLQ" xed="VPSLLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sll_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSLLQ" xed="VPSLLQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_slli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSLLQ" xed="VPSLLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sllv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSLLVD" xed="VPSLLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sllv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSLLVQ" xed="VPSLLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sllv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSLLVQ" xed="VPSLLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sllv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSLLVQ" xed="VPSLLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sra_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSRAD" xed="VPSRAD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sra_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSRAD" xed="VPSRAD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srai_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSRAD" xed="VPSRAD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sra_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSRAD" xed="VPSRAD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSRAQ" xed="VPSRAQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSRAQ" xed="VPSRAQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSRAQ" xed="VPSRAQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
		ELSE
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSRAQ" xed="VPSRAQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sra_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
	ELSE
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSRAQ" xed="VPSRAQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srai_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0x0)
	ELSE
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSRAQ" xed="VPSRAQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srav_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSRAVD" xed="VPSRAVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSRAVQ" xed="VPSRAVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSRAVQ" xed="VPSRAVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srav_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := SignExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
	ELSE
		dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSRAVQ" xed="VPSRAVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srl_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSRLD" xed="VPSRLD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srl_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[63:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSRLD" xed="VPSRLD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSRLD" xed="VPSRLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srl_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSRLD" xed="VPSRLD_ZMMu32_MASKmskw_ZMMu32_XMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srl_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, xmm" name="VPSRLQ" xed="VPSRLQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSRLQ" xed="VPSRLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srl_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[63:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, xmm" name="VPSRLQ" xed="VPSRLQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF imm8[7:0] &gt; 63
			dst[i+63:i] := 0
		ELSE
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VPSRLQ" xed="VPSRLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srl_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, xmm" name="VPSRLQ" xed="VPSRLQ_ZMMu64_MASKmskw_ZMMu64_XMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srli_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSRLQ" xed="VPSRLQ_ZMMu64_MASKmskw_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srlv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSRLVD" xed="VPSRLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srlv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSRLVQ" xed="VPSRLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_srlv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		IF count[i+63:i] &lt; 64
			dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
		ELSE
			dst[i+63:i] := 0
		FI
	ELSE
		dst[i+63:i] := 0
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSRLVQ" xed="VPSRLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srlv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF count[i+63:i] &lt; 64
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSRLVQ" xed="VPSRLVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VRCP14PD" xed="VRCP14PD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VRCP14PD" xed="VRCP14PD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_rcp14_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the approximate reciprocal of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (1.0 / a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VRCP14PD" xed="VRCP14PD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VRCP14PS" xed="VRCP14PS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VRCP14PS" xed="VRCP14PS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_rcp14_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (1.0 / a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VRCP14PS" xed="VRCP14PS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rcp14_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the approximate reciprocal of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[63:0] := (1.0 / b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VRCP14SD" xed="VRCP14SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rcp14_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the approximate reciprocal of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[63:0] := (1.0 / b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VRCP14SD" xed="VRCP14SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rcp14_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the approximate reciprocal of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
dst[63:0] := (1.0 / b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VRCP14SD" xed="VRCP14SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rcp14_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the approximate reciprocal of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[31:0] := (1.0 / b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VRCP14SS" xed="VRCP14SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rcp14_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the approximate reciprocal of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[31:0] := (1.0 / b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VRCP14SS" xed="VRCP14SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rcp14_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the approximate reciprocal of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
dst[31:0] := (1.0 / b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VRCP14SS" xed="VRCP14SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VRSQRT14PD" xed="VRSQRT14PD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VRSQRT14PD" xed="VRSQRT14PD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_rsqrt14_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the approximate reciprocal square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (1.0 / SQRT(a[i+63:i]))
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VRSQRT14PD" xed="VRSQRT14PD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VRSQRT14PS" xed="VRSQRT14PS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VRSQRT14PS" xed="VRSQRT14PS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_rsqrt14_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VRSQRT14PS" xed="VRSQRT14PS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rsqrt14_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[63:0] := (1.0 / SQRT(b[63:0]))
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VRSQRT14SD" xed="VRSQRT14SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rsqrt14_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[63:0] := (1.0 / SQRT(b[63:0]))
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VRSQRT14SD" xed="VRSQRT14SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt14_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
dst[63:0] := (1.0 / SQRT(b[63:0]))
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VRSQRT14SD" xed="VRSQRT14SD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rsqrt14_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[31:0] := (1.0 / SQRT(b[31:0]))
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VRSQRT14SS" xed="VRSQRT14SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rsqrt14_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
IF k[0]
	dst[31:0] := (1.0 / SQRT(b[31:0]))
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VRSQRT14SS" xed="VRSQRT14SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt14_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 2^-14.</description>
	<operation>
dst[31:0] := (1.0 / SQRT(b[31:0]))
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VRSQRT14SS" xed="VRSQRT14SS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sqrt_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VSQRTPD" xed="VSQRTPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sqrt_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VSQRTPD" xed="VSQRTPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sqrt_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VSQRTPD" xed="VSQRTPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sqrt_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note].</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SQRT(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VSQRTPD" xed="VSQRTPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_sqrt_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SQRT(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VSQRTPD" xed="VSQRTPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_sqrt_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".
	[round_note].</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := SQRT(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VSQRTPD" xed="VSQRTPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sqrt_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VSQRTPS" xed="VSQRTPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sqrt_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VSQRTPS" xed="VSQRTPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sqrt_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VSQRTPS" xed="VSQRTPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sqrt_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := SQRT(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VSQRTPS" xed="VSQRTPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_sqrt_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SQRT(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VSQRTPS" xed="VSQRTPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_sqrt_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".
	[round_note].</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := SQRT(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VSQRTPS" xed="VSQRTPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := SQRT(b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSQRTSD" xed="VSQRTSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := SQRT(b[63:0])
ELSE
	dst[63:0] := src[63:0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSQRTSD" xed="VSQRTSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[63:0] := SQRT(b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSQRTSD" xed="VSQRTSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst[63:0] := SQRT(b[63:0])
ELSE
	dst[63:0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSQRTSD" xed="VSQRTSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_round_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := SQRT(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSQRTSD" xed="VSQRTSD_XMMf64_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := SQRT(b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSQRTSS" xed="VSQRTSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := SQRT(b[31:0])
ELSE
	dst[31:0] := src[31:0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSQRTSS" xed="VSQRTSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst[31:0] := SQRT(b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSQRTSS" xed="VSQRTSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst[31:0] := SQRT(b[31:0])
ELSE
	dst[31:0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSQRTSS" xed="VSQRTSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_round_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Compute the square root of the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := SQRT(b[31:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSQRTSS" xed="VSQRTSS_XMMf32_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_castpd128_pd512" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Cast vector of type __m128d to type __m512d; the upper 384 bits of the result are undefined. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castpd256_pd512" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Cast vector of type __m256d to type __m512d; the upper 256 bits of the result are undefined. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castpd512_pd128" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Cast vector of type __m512d to type __m128d. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castps512_ps128" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Cast vector of type __m512 to type __m128. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castpd512_pd256" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Cast vector of type __m512d to type __m256d. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castps128_ps512" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Cast vector of type __m128 to type __m512; the upper 384 bits of the result are undefined. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castps256_ps512" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Cast vector of type __m256 to type __m512; the upper 256 bits of the result are undefined. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castps512_ps256" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Cast vector of type __m512 to type __m256. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castsi128_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m128i" varname="a" />
	<description>Cast vector of type __m128i to type __m512i; the upper 384 bits of the result are undefined. 
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castsi256_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m256i" varname="a" />
	<description>Cast vector of type __m256i to type __m512i; the upper 256 bits of the result are undefined.
	 This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castsi512_si128" tech="AVX-512">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="a" />
	<description>Cast vector of type __m512i to type __m128i.
	 This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castsi512_si256" tech="AVX-512">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="M256" type="__m512i" varname="a" />
	<description>Cast vector of type __m512i to type __m256i.
	 This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextpd128_pd512" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Cast vector of type __m128d to type __m512d; the upper 384 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextps128_ps512" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Cast vector of type __m128 to type __m512; the upper 384 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextsi128_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m128i" varname="a" />
	<description>Cast vector of type __m128i to type __m512i; the upper 384 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextpd256_pd512" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Cast vector of type __m256d to type __m512d; the upper 256 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextps256_ps512" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Cast vector of type __m256 to type __m512; the upper 256 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextsi256_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m256i" varname="a" />
	<description>Cast vector of type __m256i to type __m512i; the upper 256 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_undefined" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m512 with undefined elements.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm512_undefined_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<description>Return vector of type __m512i with undefined elements.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm512_undefined_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<description>Return vector of type __m512d with undefined elements.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm512_undefined_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<description>Return vector of type __m512 with undefined elements.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm512_add_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] + b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VADDPD" xed="VADDPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] + b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VADDPD" xed="VADDPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VADDPD" xed="VADDPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VADDPD" xed="VADDPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VADDPS" xed="VADDPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VADDPS" xed="VADDPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VADDPS" xed="VADDPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VADDPS" xed="VADDPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE 
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD132PD" xed="VFMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD213PD" xed="VFMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD231PD" xed="VFMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD132PS" xed="VFMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD213PS" xed="VFMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD231PS" xed="VFMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB132PD" xed="VFMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB213PD" xed="VFMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB231PD" xed="VFMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB132PS" xed="VFMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB213PS" xed="VFMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB231PS" xed="VFMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".
	 [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmadd_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmadd_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD132PD" xed="VFNMADD132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD213PD" xed="VFNMADD213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD231PD" xed="VFNMADD231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".  
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmadd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmadd_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD132PS" xed="VFNMADD132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD213PS" xed="VFNMADD213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD231PS" xed="VFNMADD231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".  
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). [round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := c[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmsub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmsub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="FP64" type="__m512d" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB132PD" xed="VFNMSUB132PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB213PD" xed="VFNMSUB213PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB231PD" xed="VFNMSUB231PD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).  [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := c[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmsub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmsub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="FP32" type="__m512" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR	
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB132PS" xed="VFNMSUB132PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB213PS" xed="VFNMSUB213PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB231PS" xed="VFNMSUB231PS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).  RM.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMULPD" xed="VMULPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).  
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] * b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VMULPD" xed="VMULPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] * b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMULPD" xed="VMULPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] * b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VMULPD" xed="VMULPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).  RM.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMULPS" xed="VMULPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	 [round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] * b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VMULPS" xed="VMULPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] * b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMULPS" xed="VMULPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst". 
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] * b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VMULPS" xed="VMULPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPADDD" xed="VPADDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPADDD" xed="VPADDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mullo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp[63:0] := a[i+31:i] * b[i+31:i]
		dst[i+31:i] := tmp[31:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULLD" xed="VPMULLD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mullo_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	tmp[63:0] := a[i+31:i] * b[i+31:i]
	dst[i+31:i] := tmp[31:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULLD" xed="VPMULLD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSUBD" xed="VPSUBD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSUBD" xed="VPSUBD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VSUBPD" xed="VSUBPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VSUBPD" xed="VSUBPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] - b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VSUBPD" xed="VSUBPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] - b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VSUBPD" xed="VSUBPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VSUBPS" xed="VSUBPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VSUBPS" xed="VSUBPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VSUBPS" xed="VSUBPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VSUBPS" xed="VSUBPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_add_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[31:0] + src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] + src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_ADD(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := 0
	FI
ENDFOR
dst[31:0] := REDUCE_ADD(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_add_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[63:0] + src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] + src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_ADD(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 0
	FI
ENDFOR
dst[63:0] := REDUCE_ADD(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_add_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[63:0] + src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] + src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_ADD(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 0
	FI
ENDFOR
dst[63:0] := REDUCE_ADD(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_add_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by addition using mask "k". Returns the sum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[31:0] + src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] + src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_ADD(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := 0
	FI
ENDFOR
dst[31:0] := REDUCE_ADD(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_mul_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by multiplication using mask "k". Returns the product of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[31:0] * src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] * src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_MUL(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := 1
	FI
ENDFOR
dst[31:0] := REDUCE_MUL(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_mul_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by multiplication using mask "k". Returns the product of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[63:0] * src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] * src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_MUL(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 1
	FI
ENDFOR
dst[63:0] := REDUCE_MUL(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_mul_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by multiplication using mask "k". Returns the product of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[63:0] * src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] * src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_MUL(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 1.0
	FI
ENDFOR
dst[63:0] := REDUCE_MUL(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_mul_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by multiplication using mask "k". Returns the product of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[31:0] * src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] * src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_MUL(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := FP32(1.0)
	FI
ENDFOR
dst[31:0] := REDUCE_MUL(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_add_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[31:0] + src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] + src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_ADD(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_ADD(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_add_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[63:0] + src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] + src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_ADD(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_ADD(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_add_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[63:0] + src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] + src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_ADD(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_ADD(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_add_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_ADD(src, len) {
	IF len == 2
		RETURN src[31:0] + src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] + src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_ADD(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_ADD(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_mul_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by multiplication. Returns the product of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[31:0] * src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] * src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_MUL(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MUL(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_mul_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by multiplication. Returns the product of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[63:0] * src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] * src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_MUL(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MUL(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_mul_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by multiplication. Returns the product of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[63:0] * src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] * src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_MUL(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MUL(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_mul_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by multiplication. Returns the product of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MUL(src, len) {
	IF len == 2
		RETURN src[31:0] * src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] * src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_MUL(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MUL(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_abs_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="v2" />
	<description>Finds the absolute value of each packed single-precision (32-bit) floating-point element in "v2", storing the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ABS(v2[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, m512" name="VPANDD" xed="VPANDD_ZMMu32_MASKmskw_ZMMu32_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_abs_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="v2" />
	<description>Finds the absolute value of each packed single-precision (32-bit) floating-point element in "v2", storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ABS(v2[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, m512" name="VPANDD" xed="VPANDD_ZMMu32_MASKmskw_ZMMu32_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_abs_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="v2" />
	<description>Finds the absolute value of each packed double-precision (64-bit) floating-point element in "v2", storing the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ABS(v2[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, m512" name="VPANDQ" xed="VPANDQ_ZMMu64_MASKmskw_ZMMu64_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_abs_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="v2" />
	<description>Finds the absolute value of each packed double-precision (64-bit) floating-point element in "v2", storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ABS(v2[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, m512" name="VPANDQ" xed="VPANDQ_ZMMu64_MASKmskw_ZMMu64_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 128-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 64 bytes (16 elements) in "dst".</description>
	<operation>
temp[1023:512] := a[511:0]
temp[511:0] := b[511:0]
temp[1023:0] := temp[1023:0] &gt;&gt; (32*imm8[3:0])
dst[511:0] := temp[511:0]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VALIGND" xed="VALIGND_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_alignr_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Concatenate "a" and "b" into a 128-byte immediate result, shift the result right by "imm8" 32-bit elements, and store the low 64 bytes (16 elements) in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
temp[1023:512] := a[511:0]
temp[511:0] := b[511:0]
temp[1023:0] := temp[1023:0] &gt;&gt; (32*imm8[3:0])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := temp[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VALIGND" xed="VALIGND_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ConvertExpFP64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VGETEXPPD" xed="VGETEXPPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getexp_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.
	[sae_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ConvertExpFP64(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VGETEXPPD" xed="VGETEXPPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getexp_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VGETEXPPD" xed="VGETEXPPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getexp_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision (64-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.
	[sae_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ConvertExpFP64(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VGETEXPPD" xed="VGETEXPPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ConvertExpFP32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VGETEXPPS" xed="VGETEXPPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getexp_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.
	[sae_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ConvertExpFP32(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VGETEXPPS" xed="VGETEXPPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getexp_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VGETEXPPS" xed="VGETEXPPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getexp_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision (32-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.
	[sae_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ConvertExpFP32(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VGETEXPPS" xed="VGETEXPPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VGETMANTPD" xed="VGETMANTPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getmant_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8 {sae}" name="VGETMANTPD" xed="VGETMANTPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getmant_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VGETMANTPD" xed="VGETMANTPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getmant_round_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := GetNormalizedMantissa(a[i+63:i], sc, interv)
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8 {sae}" name="VGETMANTPD" xed="VGETMANTPD_ZMMf64_MASKmskw_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VGETMANTPS" xed="VGETMANTPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getmant_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8 {sae}" name="VGETMANTPS" xed="VGETMANTPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getmant_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VGETMANTPS" xed="VGETMANTPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getmant_round_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="interv" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sc" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Normalize the mantissas of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "interv" and the sign depends on "sc" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := GetNormalizedMantissa(a[i+31:i], sc, interv)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8 {sae}" name="VGETMANTPS" xed="VGETMANTPS_ZMMf32_MASKmskw_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_blend_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Blend packed double-precision (64-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VBLENDMPD" xed="VBLENDMPD_ZMMf64_MASKmskw_ZMMf64_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_blend_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Blend packed single-precision (32-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VBLENDMPS" xed="VBLENDMPS_ZMMf32_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_blend_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Blend packed 32-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPBLENDMD" xed="VPBLENDMD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_blend_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Blend packed 64-bit integers from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPBLENDMQ" xed="VPBLENDMQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutevar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Note that this intrinsic shuffles across 128-bit lanes, unlike past intrinsics that use the "permutevar" name. This intrinsic is identical to "_mm512_mask_permutexvar_epi32", and it is recommended that you use that intrinsic name.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	IF k[j]
		dst[i+31:i] := a[id+31:id]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMD" xed="VPERMD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutevar_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="idx" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Shuffle 32-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst". Note that this intrinsic shuffles across 128-bit lanes, unlike past intrinsics that use the "permutevar" name. This intrinsic is identical to "_mm512_permutexvar_epi32", and it is recommended that you use that intrinsic name.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	id := idx[i+3:i]*32
	dst[i+31:i] := a[id+31:id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMD" xed="VPERMD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shuffle_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_PERM" type="_MM_PERM_ENUM" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
tmp_dst[159:128] := SELECT4(a[255:128], imm8[1:0])
tmp_dst[191:160] := SELECT4(a[255:128], imm8[3:2])
tmp_dst[223:192] := SELECT4(a[255:128], imm8[5:4])
tmp_dst[255:224] := SELECT4(a[255:128], imm8[7:6])
tmp_dst[287:256] := SELECT4(a[383:256], imm8[1:0])
tmp_dst[319:288] := SELECT4(a[383:256], imm8[3:2])
tmp_dst[351:320] := SELECT4(a[383:256], imm8[5:4])
tmp_dst[383:352] := SELECT4(a[383:256], imm8[7:6])
tmp_dst[415:384] := SELECT4(a[511:384], imm8[1:0])
tmp_dst[447:416] := SELECT4(a[511:384], imm8[3:2])
tmp_dst[479:448] := SELECT4(a[511:384], imm8[5:4])
tmp_dst[511:480] := SELECT4(a[511:384], imm8[7:6])
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp_dst[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSHUFD" xed="VPSHUFD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_shuffle_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_PERM" type="_MM_PERM_ENUM" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" within 128-bit lanes using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(a[127:0], imm8[5:4])
dst[127:96] := SELECT4(a[127:0], imm8[7:6])
dst[159:128] := SELECT4(a[255:128], imm8[1:0])
dst[191:160] := SELECT4(a[255:128], imm8[3:2])
dst[223:192] := SELECT4(a[255:128], imm8[5:4])
dst[255:224] := SELECT4(a[255:128], imm8[7:6])
dst[287:256] := SELECT4(a[383:256], imm8[1:0])
dst[319:288] := SELECT4(a[383:256], imm8[3:2])
dst[351:320] := SELECT4(a[383:256], imm8[5:4])
dst[383:352] := SELECT4(a[383:256], imm8[7:6])
dst[415:384] := SELECT4(a[511:384], imm8[1:0])
dst[447:416] := SELECT4(a[511:384], imm8[3:2])
dst[479:448] := SELECT4(a[511:384], imm8[5:4])
dst[511:480] := SELECT4(a[511:384], imm8[7:6])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSHUFD" xed="VPSHUFD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] OP b[i+63:i]) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_round_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k". [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] OP b[i+63:i]) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm {sae}, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] == b[i+63:i]) ? 1 : 0
ENDFOR	
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] &lt;= b[i+63:i]) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] &lt; b[i+63:i]) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] != b[i+63:i]) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpnle_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := (!(a[i+63:i] &lt;= b[i+63:i])) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpnlt_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k[j] := (!(a[i+63:i] &lt; b[i+63:i])) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpord_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" to see if neither is NaN, and store the results in mask vector "k".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] != NaN AND b[i+63:i] != NaN) ? 1 : 0 
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpunord_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" to see if either is NaN, and store the results in mask vector "k".</description>
	<operation>FOR j := 0 to 7
	i := j*64
	k[j] := (a[i+63:i] == NaN OR b[i+63:i] == NaN) ? 1 : 0 
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_round_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := ( a[i+63:i] OP b[i+63:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm {sae}, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (a[i+63:i] == b[i+63:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR	
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (a[i+63:i] &lt;= b[i+63:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (a[i+63:i] &lt; b[i+63:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (a[i+63:i] != b[i+63:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpnle_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (!(a[i+63:i] &lt;= b[i+63:i])) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpnlt_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (!(a[i+63:i] &lt; b[i+63:i])) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpord_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" to see if neither is NaN, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (a[i+63:i] != NaN AND b[i+63:i] != NaN) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpunord_pd_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="FP64" type="__m512d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" to see if either is NaN, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 7
	i := j*64
	IF k1[j]
		k[j] := (a[i+63:i] == NaN OR b[i+63:i] == NaN) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPD" xed="VCMPPD_MASKmskw_MASKmskw_ZMMf64_ZMMf64_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 15
	i := j*32
	k[j] := (a[i+31:i] OP b[i+31:i]) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_round_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k". [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 15
	i := j*32
	k[j] := (a[i+31:i] OP b[i+31:i]) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm {sae}, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := (a[i+31:i] == b[i+31:i]) ? 1 : 0
ENDFOR	
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := (a[i+31:i] &lt;= b[i+31:i]) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := (a[i+31:i] &lt; b[i+31:i]) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := (a[i+31:i] != b[i+31:i]) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpnle_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := (!(a[i+31:i] &lt;= b[i+31:i])) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpnlt_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := (!(a[i+31:i] &lt; b[i+31:i])) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpord_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if neither is NaN, and store the results in mask vector "k".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	k[j] := ((a[i+31:i] != NaN) AND (b[i+31:i] != NaN)) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpunord_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if either is NaN, and store the results in mask vector "k".</description>
	<operation>FOR j := 0 to 15
	i := j*32
	k[j] := ((a[i+31:i] == NaN) OR (b[i+31:i] == NaN)) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_round_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).  [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q 
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ 
26: OP := _CMP_NGT_UQ 
27: OP := _CMP_FALSE_OS 
28: OP := _CMP_NEQ_OS 
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm {sae}, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := (a[i+31:i] == b[i+31:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR		
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := (a[i+31:i] &lt;= b[i+31:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := (a[i+31:i] &lt; b[i+31:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := (a[i+31:i] != b[i+31:i]) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpnle_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := (!(a[i+31:i] &lt;= b[i+31:i])) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpnlt_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := (!(a[i+31:i] &lt; b[i+31:i])) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpord_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if neither is NaN, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] != NaN) AND (b[i+31:i] != NaN)) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpunord_ps_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if either is NaN, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] == NaN) OR (b[i+31:i] == NaN)) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPS" xed="VCMPPS_MASKmskw_MASKmskw_ZMMf32_ZMMf32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPEQD" xed="VPCMPEQD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPCMPGTD" xed="VPCMPGTD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed signed 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPEQD" xed="VPCMPEQD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPCMPGTD" xed="VPCMPGTD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPD" xed="VPCMPD_MASKmskw_MASKmskw_ZMMi32_ZMMi32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpeq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpge_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpgt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmple_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmplt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmpneq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immtype="_MM_CMPINT" type="_MM_CMPINT_ENUM" varname="imm8" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[2:0]) OF
0: OP := _MM_CMPINT_EQ
1: OP := _MM_CMPINT_LT
2: OP := _MM_CMPINT_LE
3: OP := _MM_CMPINT_FALSE
4: OP := _MM_CMPINT_NE
5: OP := _MM_CMPINT_NLT
6: OP := _MM_CMPINT_NLE
7: OP := _MM_CMPINT_TRUE
ESAC
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] OP b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpeq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for equality, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] == b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpge_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpgt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for greater-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &gt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmple_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmplt_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for less-than-or-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] &lt; b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmpneq_epu32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b" for not-equal, and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ( a[i+31:i] != b[i+31:i] ) ? 1 : 0
	ELSE 
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VPCMPUD" xed="VPCMPUD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_i32gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, vm32z" name="VGATHERDPS" xed="VGATHERDPS_ZMMf32_MASKmskw_MEMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32gather_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather single-precision (32-bit) floating-point elements from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, vm32z" name="VGATHERDPS" xed="VGATHERDPS_ZMMf32_MASKmskw_MEMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_load_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 8 packed double-precision (64-bit) floating-point elements) from memory into "dst". 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVAPD" xed="VMOVAPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_load_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed double-precision (64-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVAPD" xed="VMOVAPD_ZMMf64_MASKmskw_MEMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_load_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 16 packed single-precision (32-bit) floating-point elements) from memory into "dst". 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVAPS" xed="VMOVAPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_load_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed single-precision (32-bit) floating-point elements from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVAPS" xed="VMOVAPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 16 packed 32-bit integers) from memory into "dst". 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQA32" xed="VMOVDQA32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_load_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits of integer data from memory into "dst". 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQA32" xed="VMOVDQA32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_load_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 32-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MEM[mem_addr+i+31:mem_addr+i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVDQA32" xed="VMOVDQA32_ZMMu32_MASKmskw_MEMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 8 packed 64-bit integers) from memory into "dst". 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVDQA64" xed="VMOVDQA64_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_load_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load packed 64-bit integers from memory into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := MEM[mem_addr+i+63:mem_addr+i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VMOVDQA64" xed="VMOVDQA64_ZMMu64_MASKmskw_MEMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i32gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, vm32z" name="VPGATHERDD" xed="VPGATHERDD_ZMMu32_MASKmskw_MEMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32gather_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Gather 32-bit integers from memory using 32-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+31:i] := MEM[addr+31:addr]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, vm32z" name="VPGATHERDD" xed="VPGATHERDD_ZMMu32_MASKmskw_MEMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i32logather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Loads 8 64-bit integer elements from memory starting at location "base_addr" at packed 32-bit integer indices stored in the lower half of "vindex" scaled by "scale" and stores them in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VPGATHERDQ" xed="VPGATHERDQ_ZMMu64_MASKmskw_MEMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32logather_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Loads 8 64-bit integer elements from memory starting at location "base_addr" at packed 32-bit integer indices stored in the lower half of "vindex" scaled by "scale" and stores them in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VPGATHERDQ" xed="VPGATHERDQ_ZMMu64_MASKmskw_MEMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_i32logather_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Loads 8 double-precision (64-bit) floating-point elements stored at memory locations starting at location "base_addr" at packed 32-bit integer indices stored in the lower half of "vindex" scaled by "scale" them in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	dst[i+63:i] := MEM[addr+63:addr]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VGATHERDPD" xed="VGATHERDPD_ZMMf64_MASKmskw_MEMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32logather_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="void const*" varname="base_addr" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Loads 8 double-precision (64-bit) floating-point elements from memory starting at location "base_addr" at packed 32-bit integer indices stored in the lower half of "vindex" scaled by "scale" into "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VGATHERDPD" xed="VGATHERDPD_ZMMf64_MASKmskw_MEMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mov_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Move packed double-precision (64-bit) floating-point elements from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVAPD" xed="VMOVAPD_ZMMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mov_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Move packed single-precision (32-bit) floating-point elements from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVAPS" xed="VMOVAPS_ZMMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mov_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Move packed 32-bit integers from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVDQA32" xed="VMOVDQA32_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mov_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Move packed 64-bit integers from "a" to "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VMOVDQA64" xed="VMOVDQA64_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_store_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Store packed double-precision (64-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVAPD" xed="VMOVAPD_MEMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_store_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Store 512-bits (composed of 8 packed double-precision (64-bit) floating-point elements) from "a" into memory.
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVAPD" xed="VMOVAPD_MEMf64_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_store_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Store packed single-precision (32-bit) floating-point elements from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVAPS" xed="VMOVAPS_MEMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_store_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Store 512-bits (composed of 16 packed single-precision (32-bit) floating-point elements) from "a" into memory. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVAPS" xed="VMOVAPS_MEMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_store_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Store packed 32-bit integers from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		MEM[mem_addr+i+31:mem_addr+i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVDQA32" xed="VMOVDQA32_MEMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_store_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Store 512-bits (composed of 16 packed 32-bit integers) from "a" into memory. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQA32" xed="VMOVDQA32_MEMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_store_si512" tech="AVX-512">
	<return type="void" />
	<parameter etype="M512" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="M512" type="__m512i" varname="a" />
	<description>Store 512-bits of integer data from "a" into memory. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQA32" xed="VMOVDQA32_MEMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_store_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Store packed 64-bit integers from "a" into memory using writemask "k".
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		MEM[mem_addr+i+63:mem_addr+i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VMOVDQA64" xed="VMOVDQA64_MEMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_store_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" memwidth="512" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Store 512-bits (composed of 8 packed 64-bit integers) from "a" into memory. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVDQA64" xed="VMOVDQA64_MEMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i32scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm32z, zmm" name="VPSCATTERDD" xed="VPSCATTERDD_MEMu32_MASKmskw_ZMMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32scatter_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter 32-bit integers from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32z {k}, zmm" name="VPSCATTERDD" xed="VPSCATTERDD_MEMu32_MASKmskw_ZMMu32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i32scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+31:addr] := a[i+31:i]
ENDFOR
	</operation>
	<instruction form="vm32z, zmm" name="VSCATTERDPS" xed="VSCATTERDPS_MEMf32_MASKmskw_ZMMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32scatter_ps" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP32" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Scatter single-precision (32-bit) floating-point elements from "a" into memory using 32-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 32-bit element in "vindex" (each index is scaled by the factor in "scale") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+31:addr] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="vm32z {k}, zmm" name="VSCATTERDPS" xed="VSCATTERDPS_MEMf32_MASKmskw_ZMMf32_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_i32loscatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Stores 8 packed double-precision (64-bit) floating-point elements in "a" and to memory locations starting at location "base_addr" at packed 32-bit integer indices stored in "vindex" scaled by "scale".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="m512, zmm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32loscatter_pd" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Stores 8 packed double-precision (64-bit) floating-point elements in "a" to memory locations starting at location "base_addr" at packed 32-bit integer indices stored in "vindex" scaled by "scale". Only those elements whose corresponding mask bit is set in writemask "k" are written to memory.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VSCATTERDPD" xed="VSCATTERDPD_MEMf64_MASKmskw_ZMMf64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_and_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] AND b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPANDD" xed="VPANDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_and_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m512i" varname="a" />
	<parameter etype="M512" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of 512 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[511:0] := (a[511:0] AND b[511:0])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPANDD" xed="VPANDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_andnot_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise NOT of packed 32-bit integers in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := (NOT a[i+31:i]) AND b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPANDND" xed="VPANDND_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_andnot_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m512i" varname="a" />
	<parameter etype="M512" type="__m512i" varname="b" />
	<description>Compute the bitwise NOT of 512 bits (representing integer data) in "a" and then AND with "b", and store the result in "dst".</description>
	<operation>
dst[511:0] := ((NOT a[511:0]) AND b[511:0])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPANDND" xed="VPANDND_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_andnot_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise NOT of packed 32-bit integers in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPANDND" xed="VPANDND_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_andnot_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise NOT of 512 bits (composed of packed 64-bit integers) in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
dst[511:0] := ((NOT a[511:0]) AND b[511:0])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPANDNQ" xed="VPANDNQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_andnot_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise NOT of packed 64-bit integers in "a" and then AND with "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPANDNQ" xed="VPANDNQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_and_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of 512 bits (composed of packed 64-bit integers) in "a" and "b", and store the results in "dst".</description>
	<operation>
dst[511:0] := (a[511:0] AND b[511:0])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPANDQ" xed="VPANDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_and_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] AND b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPANDQ" xed="VPANDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] OR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPORD" xed="VPORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_or_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise OR of packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] OR b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPORD" xed="VPORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_or_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m512i" varname="a" />
	<parameter etype="M512" type="__m512i" varname="b" />
	<description>Compute the bitwise OR of 512 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[511:0] := (a[511:0] OR b[511:0])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPORD" xed="VPORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] OR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPORQ" xed="VPORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_or_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise OR of packed 64-bit integers in "a" and "b", and store the resut in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] OR b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPORQ" xed="VPORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_test_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" (subject to writemask "k") if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k1[j]
		k[j] := ((a[i+31:i] AND b[i+31:i]) != 0) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPTESTMD" xed="VPTESTMD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_test_epi32_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise AND of packed 32-bit integers in "a" and "b", producing intermediate 32-bit values, and set the corresponding bit in result mask "k" if the intermediate value is non-zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	k[j] := ((a[i+31:i] AND b[i+31:i]) != 0) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPTESTMD" xed="VPTESTMD_MASKmskw_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPXORD" xed="VPXORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_xor_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compute the bitwise XOR of packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORD" xed="VPXORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_xor_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="M512" type="__m512i" varname="a" />
	<parameter etype="M512" type="__m512i" varname="b" />
	<description>Compute the bitwise XOR of 512 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[511:0] := (a[511:0] XOR b[511:0])
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORD" xed="VPXORD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_xor_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<description>Compute the bitwise XOR of packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_and_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by bitwise AND using mask "k". Returns the bitwise AND of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[31:0] AND src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] AND src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_AND(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := 0xFFFFFFFF
	FI
ENDFOR
dst[31:0] := REDUCE_AND(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_and_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by bitwise AND using mask "k". Returns the bitwise AND of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[63:0] AND src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] AND src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_AND(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 0xFFFFFFFFFFFFFFFF
	FI
ENDFOR
dst[63:0] := REDUCE_AND(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_or_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by bitwise OR using mask "k". Returns the bitwise OR of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[31:0] OR src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] OR src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_OR(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := 0
	FI
ENDFOR
dst[31:0] := REDUCE_OR(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_or_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by bitwise OR using mask "k". Returns the bitwise OR of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[63:0] OR src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] OR src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_OR(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 0
	FI
ENDFOR
dst[63:0] := REDUCE_OR(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_and_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by bitwise AND. Returns the bitwise AND of all elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[31:0] AND src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] AND src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_AND(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_AND(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_and_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by bitwise AND. Returns the bitwise AND of all elements in "a".</description>
	<operation>
DEFINE REDUCE_AND(src, len) {
	IF len == 2
		RETURN src[63:0] AND src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] AND src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_AND(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_AND(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_or_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed 32-bit integers in "a" by bitwise OR. Returns the bitwise OR of all elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[31:0] OR src[63:32]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := src[i+31:i] OR src[i+32*len+31:i+32*len]
	ENDFOR
	RETURN REDUCE_OR(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_OR(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_or_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed 64-bit integers in "a" by bitwise OR. Returns the bitwise OR of all elements in "a".</description>
	<operation>
DEFINE REDUCE_OR(src, len) {
	IF len == 2
		RETURN src[63:0] OR src[127:64]
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := src[i+63:i] OR src[i+64*len+63:i+64*len]
	ENDFOR
	RETURN REDUCE_OR(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_OR(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_and_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="v2" />
	<parameter etype="UI32" type="__m512i" varname="v3" />
	<description>Performs element-by-element bitwise AND between packed 32-bit integer elements of "v2" and "v3", storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := v2[i+31:i] &amp; v3[i+31:i]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPANDD" xed="VPANDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXSD" xed="VPMAXSD_ZMMi32_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXSD" xed="VPMAXSD_ZMMi32_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMAXUD" xed="VPMAXUD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMAXUD" xed="VPMAXUD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINSD" xed="VPMINSD_ZMMi32_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="SI32" type="__m512i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINSD" xed="VPMINSD_ZMMi32_MASKmskw_ZMMi32_ZMMi32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMINUD" xed="VPMINUD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMINUD" xed="VPMINUD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_max_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="SI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Reduce the packed signed 32-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[31:0] &gt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &gt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MAX(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := Int32(-0x80000000)
	FI
ENDFOR
dst[31:0] := REDUCE_MAX(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_max_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="SI64" type="__int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Reduce the packed signed 64-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[63:0] &gt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &gt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MAX(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := Int64(-0x8000000000000000)
	FI
ENDFOR
dst[63:0] := REDUCE_MAX(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_max_epu32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 32-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[31:0] &gt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &gt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MAX(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := 0
	FI
ENDFOR
dst[31:0] := REDUCE_MAX(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_max_epu64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 64-bit integers in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[63:0] &gt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &gt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MAX(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 0
	FI
ENDFOR
dst[63:0] := REDUCE_MAX(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_max_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[63:0] &gt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &gt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MAX(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := Cast_FP64(0xFFEFFFFFFFFFFFFF)
	FI
ENDFOR
dst[63:0] := REDUCE_MAX(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_max_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by maximum using mask "k". Returns the maximum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[31:0] &gt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &gt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MAX(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := Cast_FP32(0xFF7FFFFF)
	FI
ENDFOR
dst[31:0] := REDUCE_MAX(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_min_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="SI32" type="int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Reduce the packed signed 32-bit integers in "a" by maximum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[31:0] &lt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &lt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MIN(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := Int32(0x7FFFFFFF)
	FI
ENDFOR
dst[31:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_min_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="SI64" type="__int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Reduce the packed signed 64-bit integers in "a" by maximum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[63:0] &lt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &lt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MIN(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := Int64(0x7FFFFFFFFFFFFFFF)
	FI
ENDFOR
dst[63:0] := REDUCE_MIN(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_min_epu32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 32-bit integers in "a" by maximum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[31:0] &lt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &lt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MIN(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := 0xFFFFFFFF
	FI
ENDFOR
dst[31:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_min_epu64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 64-bit integers in "a" by minimum using mask "k". Returns the minimum of all active elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[63:0] &lt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &lt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MIN(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := 0xFFFFFFFFFFFFFFFF
	FI
ENDFOR
dst[63:0] := REDUCE_MIN(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_min_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by maximum using mask "k". Returns the minimum of all active elements in "a". [min_float_note]</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[63:0] &lt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &lt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MIN(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
	i := j*64
	IF k[j]
		tmp[i+63:i] := a[i+63:i]
	ELSE
		tmp[i+63:i] := Cast_FP64(0x7FEFFFFFFFFFFFFF)
	FI
ENDFOR
dst[63:0] := REDUCE_MIN(tmp, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_min_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by maximum using mask "k". Returns the minimum of all active elements in "a". [min_float_note]</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[31:0] &lt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &lt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MIN(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
	i := j*32
	IF k[j]
		tmp[i+31:i] := a[i+31:i]
	ELSE
		tmp[i+31:i] := Cast_FP32(0x7F7FFFFF)
	FI
ENDFOR
dst[31:0] := REDUCE_MIN(tmp, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_max_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="SI32" type="int" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Reduce the packed signed 32-bit integers in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[31:0] &gt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &gt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MAX(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MAX(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_max_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="SI64" type="__int64" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Reduce the packed signed 64-bit integers in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[63:0] &gt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &gt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MAX(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MAX(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_max_epu32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 32-bit integers in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[31:0] &gt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &gt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MAX(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MAX(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_max_epu64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 64-bit integers in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[63:0] &gt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &gt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MAX(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MAX(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_max_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[63:0] &gt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &gt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MAX(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MAX(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_max_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MAX(src, len) {
	IF len == 2
		RETURN (src[31:0] &gt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &gt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MAX(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MAX(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_min_epi32" sequence="TRUE" tech="AVX-512">
	<return etype="SI32" type="int" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Reduce the packed signed 32-bit integers in "a" by minimum. Returns the minimum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[31:0] &lt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &lt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MIN(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MIN(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_min_epi64" sequence="TRUE" tech="AVX-512">
	<return etype="SI64" type="__int64" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Reduce the packed signed 64-bit integers in "a" by minimum. Returns the minimum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[63:0] &lt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &lt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MIN(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MIN(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_min_epu32" sequence="TRUE" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 32-bit integers in "a" by minimum. Returns the minimum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[31:0] &lt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &lt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MIN(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MIN(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_min_epu64" sequence="TRUE" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Reduce the packed unsigned 64-bit integers in "a" by minimum. Returns the minimum of all elements in "a".</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[63:0] &lt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &lt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MIN(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MIN(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_min_pd" sequence="TRUE" tech="AVX-512">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Reduce the packed double-precision (64-bit) floating-point elements in "a" by minimum. Returns the minimum of all elements in "a". [min_float_note]</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[63:0] &lt; src[127:64] ? src[63:0] : src[127:64])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*64
		src[i+63:i] := (src[i+63:i] &lt; src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
	ENDFOR
	RETURN REDUCE_MIN(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MIN(a, 8)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_min_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Reduce the packed single-precision (32-bit) floating-point elements in "a" by minimum. Returns the minimum of all elements in "a". [min_float_note]</description>
	<operation>
DEFINE REDUCE_MIN(src, len) {
	IF len == 2
		RETURN (src[31:0] &lt; src[63:32] ? src[31:0] : src[63:32])
	FI
	len := len / 2
	FOR j:= 0 to (len-1)
		i := j*32
		src[i+31:i] := (src[i+31:i] &lt; src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
	ENDFOR
	RETURN REDUCE_MIN(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MIN(a, 16)
	</operation>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_slli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSLLD" xed="VPSLLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_slli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSLLD" xed="VPSLLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sllv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSLLVD" xed="VPSLLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_sllv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSLLVD" xed="VPSLLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srai_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
		ELSE
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSRAD" xed="VPSRAD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srai_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="6" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSRAD" xed="VPSRAD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srav_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSRAVD" xed="VPSRAVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srav_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
	ELSE
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSRAVD" xed="VPSRAVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF imm8[7:0] &gt; 31
			dst[i+31:i] := 0
		ELSE
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VPSRLD" xed="VPSRLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srli_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VPSRLD" xed="VPSRLD_ZMMu32_MASKmskw_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_srlv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		IF count[i+31:i] &lt; 32
			dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
		ELSE
			dst[i+31:i] := 0
		FI
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI	
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSRLVD" xed="VPSRLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_srlv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF count[i+31:i] &lt; 32
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSRLVD" xed="VPSRLVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_castpd_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Cast vector of type __m512d to type __m512.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castpd_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Cast vector of type __m512d to type __m512i.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castps_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Cast vector of type __m512 to type __m512d.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castps_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Cast vector of type __m512 to type __m512i.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castsi512_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Cast vector of type __m512i to type __m512d.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castsi512_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Cast vector of type __m512i to type __m512.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpslo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="v2" />
	<description>Performs element-by-element conversion of the lower half of packed single-precision (32-bit) floating-point elements in "v2" to packed double-precision (64-bit) floating-point elements, storing the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := j*64
	dst[n+63:n] := Convert_FP32_To_FP64(v2[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPS2PD" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpslo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m512" varname="v2" />
	<description>Performs element-by-element conversion of the lower half of packed single-precision (32-bit) floating-point elements in "v2" to packed double-precision (64-bit) floating-point elements, storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[l+63:l] := Convert_FP32_To_FP64(v2[i+31:i])
	ELSE
		dst[l+63:l] := src[l+63:l]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPS2PD" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi32lo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="v2" />
	<description>Performs element-by-element conversion of the lower half of packed 32-bit integer elements in "v2" to packed double-precision (64-bit) floating-point elements, storing the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	dst[l+63:l] := Convert_Int32_To_FP64(v2[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTDQ2PD" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32lo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="v2" />
	<description>Performs element-by-element conversion of the lower half of packed 32-bit integer elements in "v2" to packed double-precision (64-bit) floating-point elements, storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := j*64
	IF k[j]
		dst[n+63:n] := Convert_Int32_To_FP64(v2[i+31:i])
	ELSE
		dst[n+63:n] := src[n+63:n]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTDQ2PD" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu32lo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="v2" />
	<description>Performs element-by-element conversion of the lower half of packed 32-bit unsigned integer elements in "v2" to packed double-precision (64-bit) floating-point elements, storing the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	n := j*64
	dst[n+63:n] := Convert_Int32_To_FP64(v2[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTUDQ2PD" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu32lo_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="v2" />
	<description>Performs element-by-element conversion of the lower half of 32-bit unsigned integer elements in "v2" to packed double-precision (64-bit) floating-point elements, storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	l := j*64
	IF k[j]
		dst[l+63:l] := Convert_Int32_To_FP64(v2[i+31:i])
	ELSE
		dst[l+63:l] := src[l+63:l]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTUDQ2PD" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpd_pslo" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="v2" />
	<description>Performs an element-by-element conversion of packed double-precision (64-bit) floating-point elements in "v2" to single-precision (32-bit) floating-point elements and stores them in "dst". The elements are stored in the lower half of the results vector, while the remaining upper half locations are set to 0.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	k := j*32
	dst[k+31:k] := Convert_FP64_To_FP32(v2[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPD2PS" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpd_pslo" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="v2" />
	<description>Performs an element-by-element conversion of packed double-precision (64-bit) floating-point elements in "v2" to single-precision (32-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). The elements are stored in the lower half of the results vector, while the remaining upper half locations are set to 0.</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	l := j*32
	IF k[j]
		dst[l+31:l] := Convert_FP64_To_FP32(v2[i+63:i])
	ELSE
		dst[l+31:l] := src[l+31:l]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPD2PS" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_i32loscatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Stores 8 packed 64-bit integer elements located in "a" and stores them in memory locations starting at location "base_addr" at packed 32-bit integer indices stored in "vindex" scaled by "scale".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	MEM[addr+63:addr] := a[i+63:i]
ENDFOR
	</operation>
	<instruction form="m512, zmm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_i32loscatter_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="vindex" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" immtype="_MM_INDEX_SCALE" type="int" varname="scale" />
	<description>Stores 8 packed 64-bit integer elements located in "a" and stores them in memory locations starting at location "base_addr" at packed 32-bit integer indices stored in "vindex" scaled by "scale" using writemask "k" (elements whose corresponding mask bit is not set are not written to memory).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VPSCATTERDQ" xed="VPSCATTERDQ_MEMu64_MASKmskw_ZMMu64_AVX512_VL512" />
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	
<intrinsic name="_mm256_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
	dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMADD52LUQ" xed="VPMADD52LUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMADD52LUQ" xed="VPMADD52LUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMADD52LUQ" xed="VPMADD52LUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
	dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMADD52LUQ" xed="VPMADD52LUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMADD52LUQ" xed="VPMADD52LUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMADD52LUQ" xed="VPMADD52LUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
	dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMADD52HUQ" xed="VPMADD52HUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMADD52HUQ" xed="VPMADD52HUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMADD52HUQ" xed="VPMADD52HUQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
	dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMADD52HUQ" xed="VPMADD52HUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMADD52HUQ" xed="VPMADD52HUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMADD52HUQ" xed="VPMADD52HUQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
	dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMADD52LUQ" xed="VPMADD52LUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMADD52LUQ" xed="VPMADD52LUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_madd52lo_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[51:0])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMADD52LUQ" xed="VPMADD52LUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
	dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMADD52HUQ" xed="VPMADD52HUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMADD52HUQ" xed="VPMADD52HUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_madd52hi_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "b" and "c" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ZeroExtend64(b[i+51:i]) * ZeroExtend64(c[i+51:i])
		dst[i+63:i] := a[i+63:i] + ZeroExtend64(tmp[103:52])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMADD52HUQ" xed="VPMADD52HUQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512IFMA52</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_maskz_popcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := POPCNT(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPOPCNTQ" xed="VPOPCNTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_popcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := POPCNT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPOPCNTQ" xed="VPOPCNTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_popcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := POPCNT(a[i+63:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPOPCNTQ" xed="VPOPCNTQ_YMMu64_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_popcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := POPCNT(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPOPCNTQ" xed="VPOPCNTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_popcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := POPCNT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPOPCNTQ" xed="VPOPCNTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_popcnt_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := POPCNT(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPOPCNTQ" xed="VPOPCNTQ_XMMu64_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := POPCNT(a[i+31:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPOPCNTD" xed="VPOPCNTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := POPCNT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPOPCNTD" xed="VPOPCNTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := POPCNT(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPOPCNTD" xed="VPOPCNTD_YMMu32_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := POPCNT(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPOPCNTD" xed="VPOPCNTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := POPCNT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPOPCNTD" xed="VPOPCNTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := POPCNT(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPOPCNTD" xed="VPOPCNTD_XMMu32_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := POPCNT(a[i+31:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPOPCNTD" xed="VPOPCNTD_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := POPCNT(a[i+31:i])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPOPCNTD" xed="VPOPCNTD_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_popcnt_epi32" vexEq="TRUE" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 32-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := POPCNT(a[i+31:i])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPOPCNTD" xed="VPOPCNTD_ZMMu32_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_popcnt_epi64" vexEq="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := POPCNT(a[i+63:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPOPCNTQ" xed="VPOPCNTQ_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_popcnt_epi64" vexEq="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := POPCNT(a[i+63:i])
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPOPCNTQ" xed="VPOPCNTQ_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_popcnt_epi64" vexEq="TRUE" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 64-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := POPCNT(a[i+63:i])
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPOPCNTQ" xed="VPOPCNTQ_ZMMu64_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512VPOPCNTDQ</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
	<intrinsic name="_mm512_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="BF16" type="__m256bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst". This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="BF16" type="__m256bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="BF16" type="__m256bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsbh_ss" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="BF16" type="__bfloat16" varname="a" />
	<description>Convert the BF16 (16-bit) floating-point element in "a" to a floating-point element, and store the result in "dst". This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
dst[31:0] := Convert_BF16_To_FP32(a[15:0])
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m512bh" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst".</description>
	<operation>
FOR j := 0 to 31
	IF j &lt; 16
		t := b.fp32[j]
	ELSE
		t := a.fp32[j-16]
	FI
	dst.word[j] := Convert_FP32_To_BF16(t)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_ZMMbf16_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m512bh" varname="dst" />
	<parameter etype="BF16" type="__m512bh" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF j &lt; 16
			t := b.fp32[j]
		ELSE
			t := a.fp32[j-16]
		FI
		dst.word[j] := Convert_FP32_To_BF16(t)
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_ZMMbf16_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m512bh" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="FP32" type="__m512" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF j &lt; 16
			t := b.fp32[j]
		ELSE
			t := a.fp32[j-16]
		FI
		dst.word[j] := Convert_FP32_To_BF16(t)
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_ZMMbf16_MASKmskw_ZMMf32_ZMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m256bh" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_YMMbf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m256bh" varname="dst" />
	<parameter etype="BF16" type="__m256bh" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_YMMbf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m256bh" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_YMMbf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="BF16" type="__m512bh" varname="a" />
	<parameter etype="BF16" type="__m512bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst".</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 15
	dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
	dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VDPBF16PS" xed="VDPBF16PS_ZMMf32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="BF16" type="__m512bh" varname="a" />
	<parameter etype="BF16" type="__m512bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 15
	IF k[j]
		dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
		dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VDPBF16PS" xed="VDPBF16PS_ZMMf32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="BF16" type="__m512bh" varname="a" />
	<parameter etype="BF16" type="__m512bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 15
	IF k[j]
		dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
		dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VDPBF16PS" xed="VDPBF16PS_ZMMf32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
	<intrinsic name="_mm_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst". This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*16
	dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst". This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*16
	dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtpbh_ps" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<description>Convert packed BF16 (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic neither raises any floating point exceptions nor turns sNAN into qNAN.</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*16
	IF k[j]
		dst[i+31:i] := Convert_BF16_To_FP32(a[m+15:m])
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtness_sbh" sequence="TRUE" tech="AVX-512">
	<return etype="BF16" type="__bfloat16" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Convert the single-precision (32-bit) floating-point element in "a" to a BF16 (16-bit) floating-point element, and store the result in "dst".</description>
	<operation>
dst[15:0] := Convert_FP32_To_BF16(a[31:0])
	</operation>
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst".</description>
	<operation>
FOR j := 0 to 7
	IF j &lt; 4
		t := b.fp32[j]
	ELSE
		t := a.fp32[j-4]
	FI
	dst.word[j] := Convert_FP32_To_BF16(t)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_XMMbf16_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="BF16" type="__m128bh" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF j &lt; 4
			t := b.fp32[j]
		ELSE
			t := a.fp32[j-4]
		FI
		dst.word[j] := Convert_FP32_To_BF16(t)
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_XMMbf16_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF j &lt; 4
			t := b.fp32[j]
		ELSE
			t := a.fp32[j-4]
		FI
		dst.word[j] := Convert_FP32_To_BF16(t)
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_XMMbf16_MASKmskw_XMMf32_XMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m256bh" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst".</description>
	<operation>
FOR j := 0 to 15
	IF j &lt; 8
		t := b.fp32[j]
	ELSE
		t := a.fp32[j-8]
	FI
	dst.word[j] := Convert_FP32_To_BF16(t)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_YMMbf16_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m256bh" varname="dst" />
	<parameter etype="BF16" type="__m256bh" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF j &lt; 8
			t := b.fp32[j]
		ELSE
			t := a.fp32[j-8]
		FI
		dst.word[j] := Convert_FP32_To_BF16(t)
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_YMMbf16_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtne2ps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m256bh" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<description>Convert packed single-precision (32-bit) floating-point elements in two vectors "a" and "b" to packed BF16 (16-bit) floating-point elements, and store the results in single vector "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF j &lt; 8
			t := b.fp32[j]
		ELSE
			t := a.fp32[j-8]
		FI
		dst.word[j] := Convert_FP32_To_BF16(t)
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VCVTNE2PS2BF16" xed="VCVTNE2PS2BF16_YMMbf16_MASKmskw_YMMf32_YMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="BF16" type="__m128bh" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="BF16" type="__m128bh" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtneps_pbh" tech="AVX-512">
	<return etype="BF16" type="__m128bh" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed BF16 (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTNEPS2BF16" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<parameter etype="BF16" type="__m128bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst".</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 3
	dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
	dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VDPBF16PS" xed="VDPBF16PS_XMMf32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<parameter etype="BF16" type="__m128bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 3
	IF k[j]
		dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
		dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VDPBF16PS" xed="VDPBF16PS_XMMf32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="BF16" type="__m128bh" varname="a" />
	<parameter etype="BF16" type="__m128bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 3
	IF k[j]
		dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
		dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VDPBF16PS" xed="VDPBF16PS_XMMf32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="BF16" type="__m256bh" varname="a" />
	<parameter etype="BF16" type="__m256bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst".</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 7
	dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
	dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VDPBF16PS" xed="VDPBF16PS_YMMf32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="BF16" type="__m256bh" varname="a" />
	<parameter etype="BF16" type="__m256bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 7
	IF k[j]
		dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
		dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VDPBF16PS" xed="VDPBF16PS_YMMf32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_dpbf16_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="BF16" type="__m256bh" varname="a" />
	<parameter etype="BF16" type="__m256bh" varname="b" />
	<description>Compute dot-product of BF16 (16-bit) floating-point pairs in "a" and "b", accumulating the intermediate single-precision (32-bit) floating-point elements with elements in "src", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE make_fp32(x[15:0]) {
	y.fp32  := 0.0
	y[31:16] := x[15:0]
	RETURN y
}
dst := src
FOR j := 0 to 7
	IF k[j]
		dst.fp32[j] += make_fp32(a.bf16[2*j+1]) * make_fp32(b.bf16[2*j+1])
		dst.fp32[j] += make_fp32(a.bf16[2*j+0]) * make_fp32(b.bf16[2*j+0])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VDPBF16PS" xed="VDPBF16PS_YMMf32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_BF16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_mask_bitshuffle_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Gather 64 bits from "b" using selection bits in "c". For each 64-bit element in "b", gather 8 bits from the 64-bit element in "b" at 8 bit position controlled by the 8 corresponding 8-bit elements of "c", and store the result in the corresponding 8-bit element of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 3 //Qword
	FOR j := 0 to 7 // Byte
		IF k[i*8+j]
			m := c.qword[i].byte[j] &amp; 0x3F
			dst[i*8+j] := b.qword[i].bit[m]
		ELSE
			dst[i*8+j] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm" name="VPSHUFBITQMB" xed="VPSHUFBITQMB_MASKmskw_MASKmskw_YMMu64_YMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_bitshuffle_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Gather 64 bits from "b" using selection bits in "c". For each 64-bit element in "b", gather 8 bits from the 64-bit element in "b" at 8 bit position controlled by the 8 corresponding 8-bit elements of "c", and store the result in the corresponding 8-bit element of "dst".</description>
	<operation>
FOR i := 0 to 3 //Qword
	FOR j := 0 to 7 // Byte
		m := c.qword[i].byte[j] &amp; 0x3F
		dst[i*8+j] := b.qword[i].bit[m]
	ENDFOR
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="k, ymm, ymm" name="VPSHUFBITQMB" xed="VPSHUFBITQMB_MASKmskw_MASKmskw_YMMu64_YMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_bitshuffle_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Gather 64 bits from "b" using selection bits in "c". For each 64-bit element in "b", gather 8 bits from the 64-bit element in "b" at 8 bit position controlled by the 8 corresponding 8-bit elements of "c", and store the result in the corresponding 8-bit element of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 1 //Qword
	FOR j := 0 to 7 // Byte
		IF k[i*8+j]
			m := c.qword[i].byte[j] &amp; 0x3F
			dst[i*8+j] := b.qword[i].bit[m]
		ELSE
			dst[i*8+j] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm" name="VPSHUFBITQMB" xed="VPSHUFBITQMB_MASKmskw_MASKmskw_XMMu64_XMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_bitshuffle_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Gather 64 bits from "b" using selection bits in "c". For each 64-bit element in "b", gather 8 bits from the 64-bit element in "b" at 8 bit position controlled by the 8 corresponding 8-bit elements of "c", and store the result in the corresponding 8-bit element of "dst".</description>
	<operation>
FOR i := 0 to 1 //Qword
	FOR j := 0 to 7 // Byte
		m := c.qword[i].byte[j] &amp; 0x3F
		dst[i*8+j] := b.qword[i].bit[m]
	ENDFOR
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="k, xmm, xmm" name="VPSHUFBITQMB" xed="VPSHUFBITQMB_MASKmskw_MASKmskw_XMMu64_XMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := POPCNT(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPOPCNTW" xed="VPOPCNTW_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := POPCNT(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPOPCNTW" xed="VPOPCNTW_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := POPCNT(a[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPOPCNTW" xed="VPOPCNTW_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := POPCNT(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPOPCNTW" xed="VPOPCNTW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := POPCNT(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPOPCNTW" xed="VPOPCNTW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := POPCNT(a[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPOPCNTW" xed="VPOPCNTW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 31
	i := j*8
	dst[i+7:i] := POPCNT(a[i+7:i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VPOPCNTB" xed="VPOPCNTB_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := POPCNT(a[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPOPCNTB" xed="VPOPCNTB_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := POPCNT(a[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPOPCNTB" xed="VPOPCNTB_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := POPCNT(a[i+7:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VPOPCNTB" xed="VPOPCNTB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := POPCNT(a[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPOPCNTB" xed="VPOPCNTB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := POPCNT(a[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPOPCNTB" xed="VPOPCNTB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_mask_bitshuffle_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Gather 64 bits from "b" using selection bits in "c". For each 64-bit element in "b", gather 8 bits from the 64-bit element in "b" at 8 bit position controlled by the 8 corresponding 8-bit elements of "c", and store the result in the corresponding 8-bit element of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 7 //Qword
	FOR j := 0 to 7 // Byte
		IF k[i*8+j]
			m := c.qword[i].byte[j] &amp; 0x3F
			dst[i*8+j] := b.qword[i].bit[m]
		ELSE
			dst[i*8+j] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm" name="VPSHUFBITQMB" xed="VPSHUFBITQMB_MASKmskw_MASKmskw_ZMMu64_ZMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_bitshuffle_epi64_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask64" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Gather 64 bits from "b" using selection bits in "c". For each 64-bit element in "b", gather 8 bits from the 64-bit element in "b" at 8 bit position controlled by the 8 corresponding 8-bit elements of "c", and store the result in the corresponding 8-bit element of "dst".</description>
	<operation>
FOR i := 0 to 7 //Qword
	FOR j := 0 to 7 // Byte
		m := c.qword[i].byte[j] &amp; 0x3F
		dst[i*8+j] := b.qword[i].bit[m]
	ENDFOR
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="k, zmm, zmm" name="VPSHUFBITQMB" xed="VPSHUFBITQMB_MASKmskw_MASKmskw_ZMMu64_ZMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := POPCNT(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPOPCNTW" xed="VPOPCNTW_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := POPCNT(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPOPCNTW" xed="VPOPCNTW_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_popcnt_epi16" vexEq="TRUE" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 16-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := POPCNT(a[i+15:i])
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPOPCNTW" xed="VPOPCNTW_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 63
	i := j*8
	dst[i+7:i] := POPCNT(a[i+7:i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VPOPCNTB" xed="VPOPCNTB_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := POPCNT(a[i+7:i])
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPOPCNTB" xed="VPOPCNTB_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_popcnt_epi8" vexEq="TRUE" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Count the number of logical 1 bits in packed 8-bit integers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE POPCNT(a) {
	count := 0
	DO WHILE a &gt; 0
		count += a[0]
		a &gt;&gt;= 1
	OD
	RETURN count
}
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := POPCNT(a[i+7:i])
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPOPCNTB" xed="VPOPCNTB_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_BITALG</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
	<intrinsic name="_mm256_acos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ACOS(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_acosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ACOSH(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_asin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ASIN(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_asinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ASINH(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_atan2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse tangent of packed half-precision (16-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
		<parameter etype="FP16" type="__m256h" varname="b" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ATAN2(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_atan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ATAN(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_atanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse hyperbolic tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ATANH(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_cbrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the cube root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := CubeRoot(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_cdfnorm_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := CDFNormal(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_cdfnorminv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := InverseCDFNormal(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_cos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := COS(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_cosd_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := COSD(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_cosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := COSH(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_erf_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ERF(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_erfc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := 1.0 - ERF(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_erfcinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := 1.0 / (1.0 - ERF(a[i+15:i]))
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_erfinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := 1.0 / ERF(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_exp10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the exponential value of 10 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := POW(FP16(10.0), a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_exp2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the exponential value of 2 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := POW(FP16(2.0), a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_exp_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := POW(FP16(e), a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_expm1_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := POW(FP16(e), a[i+15:i]) - 1.0
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_hypot_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
		<parameter etype="FP16" type="__m256h" varname="b" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SQRT(POW(a[i+15:i], 2.0) + POW(b[i+15:i], 2.0))
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_invcbrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse cube root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := InvCubeRoot(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_invsqrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the inverse square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := InvSQRT(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_log10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the base-10 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i]) / LOG(10.0)
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_log1p_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the natural logarithm of one plus packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := LOG(1.0 + a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_log2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the base-2 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i]) / LOG(2.0)
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_log_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the natural logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_logb_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ConvertExpFP16(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_pow_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the exponential value of packed half-precision (16-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
		<parameter etype="FP16" type="__m256h" varname="b" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := POW(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_sin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SIN(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_sincos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the sine and cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
		<parameter etype="FP16" memwidth="256" type="__m256h*" varname="mem_addr" />
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SIN(a[i+15:i])
	MEM[mem_addr+i+15:mem_addr+i] := COS(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
cos_res[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_sind_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SIND(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_sinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SINH(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_svml_ceil_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" up to an integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := CEIL(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_svml_floor_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" down to an integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := FLOOR(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_svml_round_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ROUND(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_svml_sqrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". Note that this intrinsic is less efficient than "_mm_sqrt_ps".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := SQRT(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_tan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := TAN(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_tand_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := TAND(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_tanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Compute the hyperbolic tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := TANH(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm256_trunc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m256h" varname="dst" />
		<description>Truncate the packed half-precision (16-bit) floating-point elements in "a", and store the results as packed half-precision floating-point elements in "dst"</description>
		<parameter etype="FP16" type="__m256h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := TRUNCATE(a[i+15:i])
ENDFOR
dst[MAX:256] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_acos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ACOS(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_acosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ACOSH(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_asin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ASIN(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_asinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ASINH(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_atan2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse tangent of packed half-precision (16-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
		<parameter etype="FP16" type="__m512h" varname="b" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ATAN2(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_atan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse tangent of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" expressed in radians.</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ATAN(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_atanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse hyperblic tangent of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" expressed in radians.</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ATANH(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_cbrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cube root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := CubeRoot(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_cdfnorm_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := CDFNormal(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_cdfnorminv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := InverseCDFNormal(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_ceil_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" up to an integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := CEIL(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_cos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := COS(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_cosd_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := COSD(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_cosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := COSH(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_erf_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ERF(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_erfc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := 1.0 - ERF(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_erfcinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := 1.0 / (1.0 - ERF(a[i+15:i]))
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_erfinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := 1.0 / ERF(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_exp10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of 10 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := POW(FP16(10.0), a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_exp2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of 2 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := POW(FP16(2.0), a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_exp_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := POW(FP16(e), a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_expm1_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := POW(FP16(e), a[i+15:i]) - 1.0
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_floor_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" down to an integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := FLOOR(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_hypot_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
		<parameter etype="FP16" type="__m512h" varname="b" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := SQRT(POW(a[i+15:i], 2.0) + POW(b[i+15:i], 2.0))
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_invsqrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := InvSQRT(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_log10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the base-10 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i]) / LOG(10.0)
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_log1p_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the natural logarithm of one plus packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := LOG(1.0 + a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_log2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the base-2 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i]) / LOG(2.0)
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_log_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the natural logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_logb_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ConvertExpFP16(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_acos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ACOS(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_acosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ACOSH(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_asin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ASIN(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_asinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ASINH(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_atan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ATAN(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_atanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse hyperbolic tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ATANH(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_cbrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cube root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := CubeRoot(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_cdfnorm_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := CDFNormal(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_cdfnorminv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := InverseCDFNormal(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_ceil_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" up to an integer value, and store the results as packed half-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := CEIL(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_cos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := COS(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_cosd_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := COSD(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_cosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := COSH(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_erf_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ERF(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_erfc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := 1.0 - ERF(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_erfcinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := 1.0 / (1.0 - ERF(a[i+15:i]))
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_erfinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := 1.0 / ERF(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_exp10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of 10 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := POW(FP16(10.0), a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_exp2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of 2 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := POW(FP16(2.0), a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_exp_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := POW(FP16(e), a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_expm1_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := POW(FP16(e), a[i+15:i]) - 1.0
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_floor_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" down to an integer value, and store the results as packed half-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := FLOOR(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_invsqrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the inverse square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := InvSQRT(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_log10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the base-10 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := LOG(a[i+15:i]) / LOG(10.0)
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_log1p_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the natural logarithm of one plus packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := LOG(1.0 + a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_log2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the base-2 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := LOG(a[i+15:i]) / LOG(2.0)
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_log_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the natural logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := LOG(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_logb_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ConvertExpFP16(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_nearbyint_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Rounds each packed half-precision (16-bit) floating-point element in "a" to the nearest integer value and stores the results as packed half-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := NearbyInt(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_recip_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Computes the reciprocal of packed half-precision (16-bit) floating-point elements in "a", storing the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := (1.0 / a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_rint_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Rounds the packed half-precision (16-bit) floating-point elements in "a" to the nearest even integer value and stores the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := RoundToNearestEven(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_sin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SIN(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_sincos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the sine and cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", store the cosine into memory at "mem_addr". Elements are written to their respective locations using writemask "k" (elements are copied from "sin_src" or "cos_src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" memwidth="512" type="__m512h*" varname="mem_addr" />
		<parameter etype="FP16" type="__m512h" varname="sin_src" />
		<parameter etype="FP16" type="__m512h" varname="cos_src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SIN(a[i+15:i])
		MEM[mem_addr+i+15:mem_addr+i] := COS(a[i+15:i])
	ELSE
		dst[i+15:i] := sin_src[i+15:i]
		MEM[mem_addr+i+15:mem_addr+i] := cos_src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_sind_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SIND(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_sinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SINH(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_svml_round_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed half-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ROUND(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_tan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := TAN(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_tand_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := TAND(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_tanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the hyperbolic tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := TANH(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_mask_trunc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Truncate the packed half-precision (16-bit) floating-point elements in "a", and store the results as packed half-precision floating-point elements in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
		<parameter etype="FP16" type="__m512h" varname="src" />
		<parameter etype="MASK" type="__mmask32" varname="k" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := TRUNCATE(a[i+15:i])
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_nearbyint_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Rounds each packed half-precision (16-bit) floating-point element in "a" to the nearest integer value and stores the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := NearbyInt(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_pow_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the exponential value of packed half-precision (16-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
		<parameter etype="FP16" type="__m512h" varname="b" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := POW(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_recip_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Computes the reciprocal of packed half-precision (16-bit) floating-point elements in "a", storing the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := (1.0 / a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_rint_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Rounds the packed half-precision (16-bit) floating-point elements in "a" to the nearest even integer value and stores the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := RoundToNearestEven(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_sin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := SIN(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_sincos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the sine and cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
		<parameter etype="FP16" memwidth="512" type="__m512h*" varname="mem_addr" />
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := SIN(a[i+15:i])
	MEM[mem_addr+i+15:mem_addr+i] := COS(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_sind_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := SIND(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_sinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := SINH(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_svml_round_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ROUND(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_tan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := TAN(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_tand_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := TAND(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_tanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Compute the hyperbolic tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := TANH(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm512_trunc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m512h" varname="dst" />
		<description>Truncate the packed half-precision (16-bit) floating-point elements in "a", and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m512h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := TRUNCATE(a[i+15:i])
ENDFOR
dst[MAX:512] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_acos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ACOS(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_acosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ACOSH(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_asin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ASIN(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_asinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ASINH(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_atan2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse tangent of packed half-precision (16-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
		<parameter etype="FP16" type="__m128h" varname="b" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ATAN2(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_atan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ATAN(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_atanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse hyperbolic tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ATANH(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_cbrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the cube root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := CubeRoot(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_cdfnorm_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := CDFNormal(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_cdfnorminv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse cumulative distribution function of packed half-precision (16-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := InverseCDFNormal(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_cos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := COS(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_cosd_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := COSD(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_cosh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the hyperbolic cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := COSH(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_erf_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ERF(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_erfc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := 1.0 - ERF(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_erfcinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse complementary error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := 1.0 / (1.0 - ERF(a[i+15:i]))
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_erfinv_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse error function of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Probability/Statistics</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := 1.0 / ERF(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_exp10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the exponential value of 10 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := POW(FP16(10.0), a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_exp2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the exponential value of 2 raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := POW(FP16(2.0), a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_exp_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := POW(FP16(e), a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_expm1_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the exponential value of "e" raised to the power of packed half-precision (16-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := POW(FP16(e), a[i+15:i]) - 1.0
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_hypot_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
		<parameter etype="FP16" type="__m128h" varname="b" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SQRT(POW(a[i+15:i], 2.0) + POW(b[i+15:i], 2.0))
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_invcbrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse cube root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := InvCubeRoot(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_invsqrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the inverse square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := InvSQRT(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_log10_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the base-10 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i]) / LOG(10.0)
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_log1p_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the natural logarithm of one plus packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := LOG(1.0 + a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_log2_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the base-2 logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i]) / LOG(2.0)
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_log_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the natural logarithm of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := LOG(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_logb_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ConvertExpFP16(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_pow_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the exponential value of packed half-precision (16-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
		<parameter etype="FP16" type="__m128h" varname="b" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := POW(a[i+15:i], b[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_sin_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SIN(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_sincos_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the sine and cosine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
		<parameter etype="FP16" memwidth="128" type="__m128h*" varname="mem_addr" />
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SIN(a[i+15:i])
	MEM[mem_addr+i+15:mem_addr+i] := COS(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
cos_res[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_sind_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the sine of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SIND(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_sinh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the hyperbolic sine of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SINH(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_svml_ceil_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" up to an integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := CEIL(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_svml_floor_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" down to an integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := FLOOR(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_svml_round_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Round the packed half-precision (16-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Special Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ROUND(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_svml_sqrt_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". Note that this intrinsic is less efficient than "_mm_sqrt_ps".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Elementary Math Functions</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SQRT(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_tan_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := TAN(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_tand_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := TAND(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_tanh_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Compute the hyperbolic tangent of packed half-precision (16-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Trigonometry</category><operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := TANH(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
	<intrinsic name="_mm_trunc_ph" sequence="TRUE" tech="SVML">
		<return etype="FP16" type="__m128h" varname="dst" />
		<description>Truncate the packed half-precision (16-bit) floating-point elements in "a", and store the results as packed half-precision floating-point elements in "dst".</description>
		<parameter etype="FP16" type="__m128h" varname="a" />
	<category>Special Math Functions</category><operation>FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := TRUNCATE(a[i+15:i])
ENDFOR
dst[MAX:128] := 0
</operation><header>immintrin.h</header><CPUID>AVX512_FP16</CPUID></intrinsic>
<intrinsic name="_mm_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := a.fp16[j] + b.fp16[j]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VADDPH" xed="VADDPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VADDPH" xed="VADDPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VADDPH" xed="VADDPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := a.fp16[j] + b.fp16[j]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VADDPH" xed="VADDPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VADDPH" xed="VADDPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VADDPH" xed="VADDPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := a.fp16[j] / b.fp16[j]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VDIVPH" xed="VDIVPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VDIVPH" xed="VDIVPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VDIVPH" xed="VDIVPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := a.fp16[j] / b.fp16[j]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VDIVPH" xed="VDIVPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VDIVPH" xed="VDIVPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VDIVPH" xed="VDIVPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADD132PH" xed="VFMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMADD213PH" xed="VFMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMADD231PH" xed="VFMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132PH" xed="VFMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213PH" xed="VFMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231PH" xed="VFMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132PH" xed="VFMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213PH" xed="VFMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231PH" xed="VFMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD132PH" xed="VFMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD213PH" xed="VFMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD231PH" xed="VFMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMADD132PH" xed="VFMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMADD213PH" xed="VFMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMADD231PH" xed="VFMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD132PH" xed="VFMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD213PH" xed="VFMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD231PH" xed="VFMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD132PH" xed="VFMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD213PH" xed="VFMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADD231PH" xed="VFMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD132PH" xed="VFMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD213PH" xed="VFMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADD231PH" xed="VFMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMADD132PH" xed="VFNMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD213PH" xed="VFNMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD231PH" xed="VFNMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132PH" xed="VFNMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213PH" xed="VFNMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231PH" xed="VFNMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132PH" xed="VFNMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213PH" xed="VFNMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231PH" xed="VFNMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD132PH" xed="VFNMADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD213PH" xed="VFNMADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD231PH" xed="VFNMADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFNMADD132PH" xed="VFNMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFNMADD213PH" xed="VFNMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFNMADD231PH" xed="VFNMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD132PH" xed="VFNMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD213PH" xed="VFNMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD231PH" xed="VFNMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD132PH" xed="VFNMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD213PH" xed="VFNMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMADD231PH" xed="VFNMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD132PH" xed="VFNMADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD213PH" xed="VFNMADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMADD231PH" xed="VFNMADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUB132PH" xed="VFMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB213PH" xed="VFMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB231PH" xed="VFMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132PH" xed="VFMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213PH" xed="VFMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231PH" xed="VFMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132PH" xed="VFMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213PH" xed="VFMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231PH" xed="VFMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB132PH" xed="VFMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB213PH" xed="VFMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB231PH" xed="VFMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMSUB132PH" xed="VFMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMSUB213PH" xed="VFMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMSUB231PH" xed="VFMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB132PH" xed="VFMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB213PH" xed="VFMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB231PH" xed="VFMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB132PH" xed="VFMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB213PH" xed="VFMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUB231PH" xed="VFMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB132PH" xed="VFMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB213PH" xed="VFMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUB231PH" xed="VFMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFNMSUB132PH" xed="VFNMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFNMSUB213PH" xed="VFNMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFNMSUB231PH" xed="VFNMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB132PH" xed="VFNMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB213PH" xed="VFNMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB231PH" xed="VFNMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB132PH" xed="VFNMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB213PH" xed="VFNMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFNMSUB231PH" xed="VFNMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB132PH" xed="VFNMSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB213PH" xed="VFNMSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFNMSUB231PH" xed="VFNMSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {k}, ymm, ymm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := a.fp16[j] - b.fp16[j]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSUBPH" xed="VSUBPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSUBPH" xed="VSUBPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSUBPH" xed="VSUBPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := a.fp16[j] - b.fp16[j]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VSUBPH" xed="VSUBPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VSUBPH" xed="VSUBPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VSUBPH" xed="VSUBPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR i := 0 TO 7
	dst.fp16[i] := a.fp16[i] * b.fp16[i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VMULPH" xed="VMULPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 TO 7
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMULPH" xed="VMULPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 TO 7
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMULPH" xed="VMULPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR i := 0 TO 15
	dst.fp16[i] := a.fp16[i] * b.fp16[i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMULPH" xed="VMULPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 TO 15
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMULPH" xed="VMULPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 TO 15
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMULPH" xed="VMULPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMULCPH" xed="VFMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMULCPH" xed="VFMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMULCPH" xed="VFMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMULCPH" xed="VFMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMULCPH" xed="VFMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMULCPH" xed="VFMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMULCPH" xed="VFMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMULCPH" xed="VFMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMULCPH" xed="VFMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMULCPH" xed="VFMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMULCPH" xed="VFMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMULCPH" xed="VFMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFCMULCPH" xed="VFCMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFCMULCPH" xed="VFCMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMULCPH" xed="VFCMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMULCPH" xed="VFCMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFCMULCPH" xed="VFCMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFCMULCPH" xed="VFCMULCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFCMULCPH" xed="VFCMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFCMULCPH" xed="VFCMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFCMULCPH" xed="VFCMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFCMULCPH" xed="VFCMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFCMULCPH" xed="VFCMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFCMULCPH" xed="VFCMULCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADDCPH" xed="VFMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDCPH" xed="VFMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDCPH" xed="VFMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDCPH" xed="VFMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMADDCPH" xed="VFMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDCPH" xed="VFMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFMADDCPH" xed="VFMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFMADDCPH" xed="VFMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFCMADDCPH" xed="VFCMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMADDCPH" xed="VFCMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMADDCPH" xed="VFCMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 3
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFCMADDCPH" xed="VFCMADDCPH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFCMADDCPH" xed="VFCMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFCMADDCPH" xed="VFCMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask3_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VFCMADDCPH" xed="VFCMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="FP16" type="__m256h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VFCMADDCPH" xed="VFCMADDCPH_YMM2f16_MASKmskw_YMM2f16_YMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_add_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 7
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+8]
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+4]
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+2]
ENDFOR
dst.fp16[0] := tmp.fp16[0] + tmp.fp16[1]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_mul_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Reduce the packed half-precision (316-bit) floating-point elements in "a" by multiplication. Returns the product of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 7
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+8]
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+4]
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+2]
ENDFOR
dst.fp16[0] := tmp.fp16[0] * tmp.fp16[1]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_max_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 7
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+8] ? tmp.fp16[i] : tmp.fp16[i+8])
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+4] ? tmp.fp16[i] : tmp.fp16[i+4])
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+2] ? tmp.fp16[i] : tmp.fp16[i+2])
ENDFOR
dst.fp16[0] := (tmp.fp16[0] &gt; tmp.fp16[1] ? tmp.fp16[0] : tmp.fp16[1])
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_min_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by minimum. Returns the minimum of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 7
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+8] ? tmp.fp16[i] : tmp.fp16[i+8])
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+4] ? tmp.fp16[i] : tmp.fp16[i+4])
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+2] ? tmp.fp16[i] : tmp.fp16[i+2])
ENDFOR
dst.fp16[0] := (tmp.fp16[0] &lt; tmp.fp16[1] ? tmp.fp16[0] : tmp.fp16[1])
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_add_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 3
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+4]
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+2]
ENDFOR
dst.fp16[0] := tmp.fp16[0] + tmp.fp16[1]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_mul_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by multiplication. Returns the product of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 3
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+4]
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+2]
ENDFOR
dst.fp16[0] := tmp.fp16[0] * tmp.fp16[1]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_max_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by maximum. Returns the maximum of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 3
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+4] ? tmp.fp16[i] : tmp.fp16[i+4])
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+2] ? tmp.fp16[i] : tmp.fp16[i+2])
ENDFOR
dst.fp16[0] := (tmp.fp16[0] &gt; tmp.fp16[1] ? tmp.fp16[0] : tmp.fp16[1])
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_min_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by minimum. Returns the minimum of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 3
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+4] ? tmp.fp16[i] : tmp.fp16[i+4])
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+2] ? tmp.fp16[i] : tmp.fp16[i+2])
ENDFOR
dst.fp16[0] := (tmp.fp16[0] &lt; tmp.fp16[1] ? tmp.fp16[0] : tmp.fp16[1])
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_abs_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="v2" />
	<description>Finds the absolute value of each packed half-precision (16-bit) floating-point element in "v2", storing the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := ABS(v2.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_abs_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="v2" />
	<description>Finds the absolute value of each packed half-precision (16-bit) floating-point element in "v2", storing the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := ABS(v2.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	k[j] := (a.fp16[j] OP b.fp16[j]) ? 1 : 0
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 7
	IF k1[j]
		k[j] := ( a.fp16[j] OP b.fp16[j] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_cmp_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 15
	k[j] := (a.fp16[j] OP b.fp16[j]) ? 1 : 0
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, ymm, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_YMMf16_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cmp_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 15
	IF k1[j]
		k[j] := ( a.fp16[j] OP b.fp16[j] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, ymm, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_YMMf16_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTW2PH" xed="VCVTW2PH_XMMf16_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTW2PH" xed="VCVTW2PH_XMMf16_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTW2PH" xed="VCVTW2PH_XMMf16_MASKmskw_XMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTW2PH" xed="VCVTW2PH_YMMf16_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTW2PH" xed="VCVTW2PH_YMMf16_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTW2PH" xed="VCVTW2PH_YMMf16_MASKmskw_YMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTUW2PH" xed="VCVTUW2PH_XMMf16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTUW2PH" xed="VCVTUW2PH_XMMf16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTUW2PH" xed="VCVTUW2PH_XMMf16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTUW2PH" xed="VCVTUW2PH_YMMf16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTUW2PH" xed="VCVTUW2PH_YMMf16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTUW2PH" xed="VCVTUW2PH_YMMf16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTDQ2PH" xed="VCVTDQ2PH_XMMf16_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTDQ2PH" xed="VCVTDQ2PH_XMMf16_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTDQ2PH" xed="VCVTDQ2PH_XMMf16_MASKmskw_XMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTDQ2PH" xed="VCVTDQ2PH_XMMf16_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTDQ2PH" xed="VCVTDQ2PH_XMMf16_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTDQ2PH" xed="VCVTDQ2PH_XMMf16_MASKmskw_YMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_XMMf16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_XMMf16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_XMMf16_MASKmskw_XMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_XMMf16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_XMMf16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_XMMf16_MASKmskw_YMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m256i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_XMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_YMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 96 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst". The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_YMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".  The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 to 3
	dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPS2PHX" xed="VCVTPS2PHX_XMMf16_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).  The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPS2PHX" xed="VCVTPS2PHX_XMMf16_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).  The upper 64 bits of "dst" are zeroed out.</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPS2PHX" xed="VCVTPS2PHX_XMMf16_MASKmskw_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm" name="VCVTPS2PHX" xed="VCVTPS2PHX_XMMf16_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, ymm" name="VCVTPS2PHX" xed="VCVTPS2PHX_XMMf16_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, ymm" name="VCVTPS2PHX" xed="VCVTPS2PHX_XMMf16_MASKmskw_YMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2DQ" xed="VCVTPH2DQ_XMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2DQ" xed="VCVTPH2DQ_XMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2DQ" xed="VCVTPH2DQ_XMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPH2DQ" xed="VCVTPH2DQ_YMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPH2DQ" xed="VCVTPH2DQ_YMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPH2DQ" xed="VCVTPH2DQ_YMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_XMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_XMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_XMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_YMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_YMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_YMMi32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_XMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_XMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_XMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_YMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_YMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_YMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_XMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_XMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_XMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_YMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_YMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_YMMu32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 1
	dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_XMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_XMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_XMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_YMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_YMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_YMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 1
	dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_XMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_XMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_XMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_YMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_YMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_YMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 1
	dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_XMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_XMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_XMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_YMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_YMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_YMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 1
	dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_XMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_XMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 1
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_XMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 3
	dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_YMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_YMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 3
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_YMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2W" xed="VCVTPH2W_XMMi16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2W" xed="VCVTPH2W_XMMi16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2W" xed="VCVTPH2W_XMMi16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTPH2W" xed="VCVTPH2W_YMMi16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTPH2W" xed="VCVTPH2W_YMMi16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTPH2W" xed="VCVTPH2W_YMMi16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPH2W" xed="VCVTTPH2W_XMMi16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPH2W" xed="VCVTTPH2W_XMMi16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPH2W" xed="VCVTTPH2W_XMMi16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTTPH2W" xed="VCVTTPH2W_YMMi16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTTPH2W" xed="VCVTTPH2W_YMMi16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTTPH2W" xed="VCVTTPH2W_YMMi16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2UW" xed="VCVTPH2UW_XMMu16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2UW" xed="VCVTPH2UW_XMMu16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2UW" xed="VCVTPH2UW_XMMu16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTPH2UW" xed="VCVTPH2UW_YMMu16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTPH2UW" xed="VCVTPH2UW_YMMu16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTPH2UW" xed="VCVTPH2UW_YMMu16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTTPH2UW" xed="VCVTTPH2UW_XMMu16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTTPH2UW" xed="VCVTTPH2UW_XMMu16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTTPH2UW" xed="VCVTTPH2UW_XMMu16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VCVTTPH2UW" xed="VCVTTPH2UW_YMMu16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VCVTTPH2UW" xed="VCVTTPH2UW_YMMu16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VCVTTPH2UW" xed="VCVTTPH2UW_YMMu16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_XMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := src.fp64[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_XMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_XMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_YMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := src.fp64[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_YMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_YMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2PSX" xed="VCVTPH2PSX_XMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := src.fp32[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VCVTPH2PSX" xed="VCVTPH2PSX_XMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VCVTPH2PSX" xed="VCVTPH2PSX_XMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPH2PSX" xed="VCVTPH2PSX_YMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := src.fp32[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, xmm" name="VCVTPH2PSX" xed="VCVTPH2PSX_YMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, xmm" name="VCVTPH2PSX" xed="VCVTPH2PSX_YMMf32_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VMAXPH" xed="VMAXPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMAXPH" xed="VMAXPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMAXPH" xed="VMAXPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMAXPH" xed="VMAXPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMAXPH" xed="VMAXPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMAXPH" xed="VMAXPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [max_float_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] &gt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VMAXSH" xed="VMAXSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &gt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMAXSH" xed="VMAXSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &gt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMAXSH" xed="VMAXSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [sae_note][max_float_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] &gt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VMAXSH" xed="VMAXSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_max_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [sae_note][max_float_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &gt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VMAXSH" xed="VMAXSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_max_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [sae_note][max_float_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &gt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VMAXSH" xed="VMAXSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VMINPH" xed="VMINPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMINPH" xed="VMINPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMINPH" xed="VMINPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VMINPH" xed="VMINPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VMINPH" xed="VMINPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VMINPH" xed="VMINPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [min_float_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] &lt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VMINSH" xed="VMINSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &lt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMINSH" xed="VMINSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &lt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMINSH" xed="VMINSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [sae_note][min_float_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] &lt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VMINSH" xed="VMINSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_min_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [sae_note][min_float_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &lt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VMINSH" xed="VMINSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_min_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [sae_note][min_float_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] &lt; b.fp16[0] ? a.fp16[0] : b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VMINSH" xed="VMINSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 7
	dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
ENDFOR
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 15
	dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
ENDFOR
dest[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dest[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dest[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 7
	dst.fp16[i] := ConvertExpFP16(a.fp16[i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VGETEXPPH" xed="VGETEXPPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VGETEXPPH" xed="VGETEXPPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VGETEXPPH" xed="VGETEXPPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 15
	dst.fp16[i] := ConvertExpFP16(a.fp16[i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VGETEXPPH" xed="VGETEXPPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VGETEXPPH" xed="VGETEXPPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VGETEXPPH" xed="VGETEXPPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note]</description>
	<operation>FOR i := 0 TO 7
	dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VGETMANTPH" xed="VGETMANTPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note]</description>
	<operation>FOR i := 0 TO 7
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VGETMANTPH" xed="VGETMANTPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note]</description>
	<operation>FOR i := 0 TO 7
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VGETMANTPH" xed="VGETMANTPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
		[getmant_note]</description>
	<operation>FOR i := 0 TO 15
	dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VGETMANTPH" xed="VGETMANTPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
		[getmant_note]</description>
	<operation>FOR i := 0 TO 15
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VGETMANTPH" xed="VGETMANTPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
		[getmant_note]</description>
	<operation>FOR i := 0 TO 15
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VGETMANTPH" xed="VGETMANTPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 7
	dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VREDUCEPH" xed="VREDUCEPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, imm8" name="VREDUCEPH" xed="VREDUCEPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, imm8" name="VREDUCEPH" xed="VREDUCEPH_XMMf16_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 15
	dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, imm8" name="VREDUCEPH" xed="VREDUCEPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, imm8" name="VREDUCEPH" xed="VREDUCEPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, imm8" name="VREDUCEPH" xed="VREDUCEPH_YMMf16_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 7
	dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSCALEFPH" xed="VSCALEFPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSCALEFPH" xed="VSCALEFPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSCALEFPH" xed="VSCALEFPH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VSCALEFPH" xed="VSCALEFPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VSCALEFPH" xed="VSCALEFPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VSCALEFPH" xed="VSCALEFPH_YMMf16_MASKmskw_YMMf16_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fpclass_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed half-precision (16-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
		[fpclass_note]</description>
	<operation>FOR i := 0 to 7
	k[i] := CheckFPClass_FP16(a.fp16[i], imm8[7:0])
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k, xmm, imm8" name="VFPCLASSPH" xed="VFPCLASSPH_MASKmskw_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fpclass_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed half-precision (16-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
		[fpclass_note]</description>
	<operation>FOR i := 0 to 7
	IF k1[i]
		k[i] := CheckFPClass_FP16(a.fp16[i], imm8[7:0])
	ELSE
		k[i] := 0
	FI
ENDFOR
k[MAX:8] := 0
	</operation>
	<instruction form="k {k}, xmm, imm8" name="VFPCLASSPH" xed="VFPCLASSPH_MASKmskw_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_fpclass_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed half-precision (16-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
			[fpclass_note]</description>
	<operation>FOR i := 0 to 15
	k[i] := CheckFPClass_FP16(a.fp16[i], imm8[7:0])
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k, ymm, imm8" name="VFPCLASSPH" xed="VFPCLASSPH_MASKmskw_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_fpclass_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="MASK" type="__mmask16" varname="k1" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed half-precision (16-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
		[fpclass_note]</description>
	<operation>FOR i := 0 to 15
	IF k1[i]
		k[i] := CheckFPClass_FP16(a.fp16[i], imm8[7:0])
	ELSE
		k[i] := 0
	FI
ENDFOR
k[MAX:16] := 0
	</operation>
	<instruction form="k {k}, ymm, imm8" name="VFPCLASSPH" xed="VFPCLASSPH_MASKmskw_MASKmskw_YMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutex2var_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Shuffle half-precision (16-bit) floating-point elements in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	off := idx[i+2:i]
	dst.fp16[j] := idx[i+3] ? b.fp16[off] : a.fp16[off]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex2var_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Shuffle half-precision (16-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	off := idx[i+3:i]
	dst.fp16[j] := idx[i+4] ? b.fp16[off] : a.fp16[off]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMI2W" xed="VPERMI2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<instruction form="ymm, ymm, ymm" name="VPERMT2W" xed="VPERMT2W_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_blend_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="FP16" type="__m256h" varname="b" />
	<description>Blend packed half-precision (16-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := b.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPBLENDMW" xed="VPBLENDMW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_blend_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Blend packed half-precision (16-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp16[j] := b.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPBLENDMW" xed="VPBLENDMW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm256_permutexvar_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="idx" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Shuffle half-precision (16-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	id := idx[i+3:i]
	dst.fp16[j] := a.fp16[id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMW" xed="VPERMW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_permutexvar_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="idx" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Shuffle half-precision (16-bit) floating-point elements in "a" using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	id := idx[i+2:i]
	dst.fp16[j] := a.fp16[id]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMW" xed="VPERMW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VRSQRTPH" xed="VRSQRTPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VRSQRTPH" xed="VRSQRTPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VRSQRTPH" xed="VRSQRTPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRSQRTPH" xed="VRSQRTPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VRSQRTPH" xed="VRSQRTPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VRSQRTPH" xed="VRSQRTPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[i] := SQRT(a.fp16[i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VSQRTPH" xed="VSQRTPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VSQRTPH" xed="VSQRTPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VSQRTPH" xed="VSQRTPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[i] := SQRT(a.fp16[i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VSQRTPH" xed="VSQRTPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VSQRTPH" xed="VSQRTPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VSQRTPH" xed="VSQRTPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[i] := (1.0 / a.fp16[i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VRCPPH" xed="VRCPPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := (1.0 / a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VRCPPH" xed="VRCPPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 7
	IF k[i]
		dst.fp16[i] := (1.0 / a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VRCPPH" xed="VRCPPH_XMMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[i] := (1.0 / a.fp16[i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VRCPPH" xed="VRCPPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := (1.0 / a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VRCPPH" xed="VRCPPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := (1.0 / a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VRCPPH" xed="VRCPPH_YMMf16_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm256_load_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 16 packed half-precision (16-bit) floating-point elements) from memory into "dst". 
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVAPS" xed="VMOVAPS_YMMqq_MEMqq" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 8 packed half-precision (16-bit) floating-point elements) from memory into "dst". 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="MOVAPS" xed="MOVAPS_XMMps_MEMps" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_loadu_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" memwidth="256" type="void const*" varname="mem_addr" />
	<description>Load 256-bits (composed of 16 packed half-precision (16-bit) floating-point elements) from memory into "dst". 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, m256" name="VMOVUPS" xed="VMOVUPS_YMMqq_MEMqq" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" memwidth="128" type="void const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 8 packed half-precision (16-bit) floating-point elements) from memory into "dst". 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, m128" name="MOVUPS" xed="MOVUPS_XMMps_MEMps" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_store_ph" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="256" type="void *" varname="mem_addr" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Store 256-bits (composed of 16 packed half-precision (16-bit) floating-point elements) from "a" into memory. 
	"mem_addr" must be aligned on a 32-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVAPS" xed="VMOVAPS_MEMqq_YMMqq" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_ph" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="128" type="void *" varname="mem_addr" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Store 128-bits (composed of 8 packed half-precision (16-bit) floating-point elements) from "a" into memory. 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVAPS" xed="MOVAPS_MEMps_XMMps" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_storeu_ph" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="256" type="void *" varname="mem_addr" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Store 256-bits (composed of 16 packed half-precision (16-bit) floating-point elements) from "a" into memory. 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+255:mem_addr] := a[255:0]
	</operation>
	<instruction form="m256, ymm" name="VMOVUPS" xed="VMOVUPS_MEMqq_YMMqq" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_ph" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="128" type="void *" varname="mem_addr" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Store 128-bits (composed of 8 packed half-precision (16-bit) floating-point elements) from "a" into memory. 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVUPS" xed="MOVUPS_MEMps_XMMps" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_undefined_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256h with undefined elements.</description>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_undefined_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m128h with undefined elements.</description>
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm256_setzero_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m256h with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VXORPS" xed="VXORPS_YMMqq_YMMqq_YMMqq" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setzero_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m128h with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="xmm, xmm" name="XORPS" xed="XORPS_XMMxud_XMMxud" />
	<CPUID>AVX512_FP16</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := a.fp16[j] + b.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VADDPH" xed="VADDPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VADDPH" xed="VADDPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VADDPH" xed="VADDPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_add_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := a.fp16[j] + b.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VADDPH" xed="VADDPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_add_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VADDPH" xed="VADDPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_add_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] + b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VADDPH" xed="VADDPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Add the lower half-precision (16-bit) floating-point elements in "a" and "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := a.fp16[0] + b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VADDSH" xed="VADDSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower half-precision (16-bit) floating-point elements in "a" and "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst.fp16[0] := a.fp16[0] + b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VADDSH" xed="VADDSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Add the lower half-precision (16-bit) floating-point elements in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] + b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VADDSH" xed="VADDSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_add_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower half-precision (16-bit) floating-point elements in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] + b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VADDSH" xed="VADDSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Add the lower half-precision (16-bit) floating-point elements in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] + b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VADDSH" xed="VADDSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_add_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Add the lower half-precision (16-bit) floating-point elements in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] + b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VADDSH" xed="VADDSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := a.fp16[j] / b.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VDIVPH" xed="VDIVPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VDIVPH" xed="VDIVPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_div_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VDIVPH" xed="VDIVPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_div_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := a.fp16[j] / b.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VDIVPH" xed="VDIVPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_div_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VDIVPH" xed="VDIVPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_div_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide packed half-precision (16-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] / b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VDIVPH" xed="VDIVPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Divide the lower half-precision (16-bit) floating-point element in "a" by the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := a.fp16[0] / b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VDIVSH" xed="VDIVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Divide the lower half-precision (16-bit) floating-point element in "a" by the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] / b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VDIVSH" xed="VDIVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Divide the lower half-precision (16-bit) floating-point element in "a" by the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] / b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VDIVSH" xed="VDIVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower half-precision (16-bit) floating-point element in "a" by the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst.fp16[0] := a.fp16[0] / b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VDIVSH" xed="VDIVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_div_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower half-precision (16-bit) floating-point element in "a" by the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] / b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VDIVSH" xed="VDIVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_div_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Divide the lower half-precision (16-bit) floating-point element in "a" by the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] / b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VDIVSH" xed="VDIVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD132PH" xed="VFMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD213PH" xed="VFMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADD231PH" xed="VFMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD132SH" xed="VFMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD213SH" xed="VFMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADD231SH" xed="VFMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD132PH" xed="VFNMADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD213PH" xed="VFNMADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMADD231PH" xed="VFNMADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmadd_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD132SH" xed="VFNMADD132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD213SH" xed="VFNMADD213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMADD231SH" xed="VFNMADD231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB132PH" xed="VFMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB213PH" xed="VFMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUB231PH" xed="VFMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB132SH" xed="VFMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB213SH" xed="VFMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMSUB231SH" xed="VFMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fnmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fnmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fnmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fnmsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := -(a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB132PH" xed="VFNMSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB213PH" xed="VFNMSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFNMSUB231PH" xed="VFNMSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm, xmm, xmm {er}" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fnmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fnmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using writemask "k" (the element is copied from "c" when mask bit 0 is not set), and copy the upper 7 packed elements from "c" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := c.fp16[0]
FI
dst[127:16] := c[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fnmsub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) - c.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB132SH" xed="VFNMSUB132SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB213SH" xed="VFNMSUB213SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFNMSUB231SH" xed="VFNMSUB231SH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmaddsub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmaddsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmaddsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmaddsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmaddsub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB132PH" xed="VFMADDSUB132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB213PH" xed="VFMADDSUB213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDSUB231PH" xed="VFMADDSUB231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsubadd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmsubadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst".
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF ((j &amp; 1) == 0)
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
	ELSE
		dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm, zmm, zmm {er}" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmsubadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmsubadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set).
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := c.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmsubadd_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" to/from the intermediate result, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
		[round_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		IF ((j &amp; 1) == 0)
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) + c.fp16[j]
		ELSE
			dst.fp16[j] := (a.fp16[j] * b.fp16[j]) - c.fp16[j]
		FI
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD132PH" xed="VFMSUBADD132PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD213PH" xed="VFMSUBADD213PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMSUBADD231PH" xed="VFMSUBADD231PH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := a.fp16[j] - b.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VSUBPH" xed="VSUBPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_sub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := a.fp16[j] - b.fp16[j]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VSUBPH" xed="VSUBPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VSUBPH" xed="VSUBPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VSUBPH" xed="VSUBPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VSUBPH" xed="VSUBPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sub_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract packed half-precision (16-bit) floating-point elements in "b" from packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := a.fp16[j] - b.fp16[j]
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VSUBPH" xed="VSUBPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Subtract the lower half-precision (16-bit) floating-point element in "b" from the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := a.fp16[0] - b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSUBSH" xed="VSUBSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower half-precision (16-bit) floating-point element in "b" from the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := a.fp16[0] - b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSUBSH" xed="VSUBSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Subtract the lower half-precision (16-bit) floating-point element in "b" from the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] - b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSUBSH" xed="VSUBSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower half-precision (16-bit) floating-point element in "b" from the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] - b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSUBSH" xed="VSUBSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Subtract the lower half-precision (16-bit) floating-point element in "b" from the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] - b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSUBSH" xed="VSUBSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sub_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Subtract the lower half-precision (16-bit) floating-point element in "b" from the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] - b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSUBSH" xed="VSUBSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR i := 0 TO 31
	dst.fp16[i] := a.fp16[i] * b.fp16[i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMULPH" xed="VMULPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst".
	 [round_note]</description>
	<operation>
FOR i := 0 TO 31
	dst.fp16[i] := a.fp16[i] * b.fp16[i]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VMULPH" xed="VMULPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMULPH" xed="VMULPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	 [round_note]</description>
	<operation>
FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VMULPH" xed="VMULPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMULPH" xed="VMULPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply packed half-precision (16-bit) floating-point elements in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	 [round_note]</description>
	<operation>
FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := a.fp16[i] * b.fp16[i]
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VMULPH" xed="VMULPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower half-precision (16-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := a.fp16[0] * b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VMULSH" xed="VMULSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := a.fp16[0] * b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VMULSH" xed="VMULSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower half-precision (16-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] * b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMULSH" xed="VMULSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] * b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VMULSH" xed="VMULSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower half-precision (16-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] * b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMULSH" xed="VMULSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Multiply the lower half-precision (16-bit) floating-point element in "a" and "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := a.fp16[0] * b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VMULSH" xed="VMULSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
		[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_mul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
		[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_mul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMULCPH" xed="VFMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_mul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_mul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
			[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMULCSH" xed="VFMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fcmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cmul_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fcmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_cmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fcmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := src.fp16[2*i+0]
		dst.fp16[2*i+1] := src.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fcmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cmul_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1])
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1])
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFCMULCPH" xed="VFCMULCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fcmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_cmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fcmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fcmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cmul_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fcmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_cmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fcmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "src" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := src.fp16[0]
	dst.fp16[1] := src.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fcmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cmul_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1])
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1])
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFCMULCSH" xed="VFCMULCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "src", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "src", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" and "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) - (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) + (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFMADDCPH" xed="VFMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower complex numbers in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower complex numbers in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "a" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := a.fp16[0]
	dst.fp16[1] := a.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower complex number in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "c" when mask bit 0 is not set), and copy the upper 6 packed elements from "c" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := c.fp16[0]
	dst.fp16[1] := c.fp16[1]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower complex numbers in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "a" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := a.fp16[0]
	dst.fp16[1] := a.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "c" when mask bit 0 is not set), and copy the upper 6 packed elements from "c" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := c.fp16[0]
	dst.fp16[1] := c.fp16[1]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex numbers in "a" and "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) - (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) + (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFMADDCSH" xed="VFMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fcmadd_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_fcmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
	dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fcmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := a.fp16[2*i+0]
		dst.fp16[2*i+1] := a.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask3_fcmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using writemask "k" (elements are copied from "c" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := c.fp16[2*i+0]
		dst.fp16[2*i+1] := c.fp16[2*i+1]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_fcmadd_round_pch" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="FP16" type="__m512h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply packed complex numbers in "a" by the complex conjugates of packed complex numbers in "b", accumulate to the corresponding complex numbers in "c", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
FOR i := 0 to 15
	IF k[i]
		dst.fp16[2*i+0] := (a.fp16[2*i+0] * b.fp16[2*i+0]) + (a.fp16[2*i+1] * b.fp16[2*i+1]) + c.fp16[2*i+0]
		dst.fp16[2*i+1] := (a.fp16[2*i+1] * b.fp16[2*i+0]) - (a.fp16[2*i+0] * b.fp16[2*i+1]) + c.fp16[2*i+1]
	ELSE
		dst.fp16[2*i+0] := 0
		dst.fp16[2*i+1] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VFCMADDCPH" xed="VFCMADDCPH_ZMM2f16_MASKmskw_ZMM2f16_ZMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fcmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />	
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fcmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "a" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := a.fp16[0]
	dst.fp16[1] := a.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fcmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "c" when mask bit 0 is not set), and copy the upper 6 packed elements from "c" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := c.fp16[0]
	dst.fp16[1] := c.fp16[1]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fcmadd_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fcmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst", and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fcmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "a" when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := a.fp16[0]
	dst.fp16[1] := a.fp16[1]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask3_fcmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using writemask "k" (elements are copied from "c" when mask bit 0 is not set), and copy the upper 6 packed elements from "c" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := c.fp16[0]
	dst.fp16[1] := c.fp16[1]
FI
dst[127:32] := c[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_fcmadd_round_sch" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="FP16" type="__m128h" varname="c" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Multiply the lower complex number in "a" by the complex conjugate of the lower complex number in "b", accumulate to the lower complex number in "c", and store the result in the lower elements of "dst" using zeromask "k" (elements are zeroed out when mask bit 0 is not set), and copy the upper 6 packed elements from "a" to the upper elements of "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := (a.fp16[0] * b.fp16[0]) + (a.fp16[1] * b.fp16[1]) + c.fp16[0]
	dst.fp16[1] := (a.fp16[1] * b.fp16[0]) - (a.fp16[0] * b.fp16[1]) + c.fp16[1]
ELSE
	dst.fp16[0] := 0
	dst.fp16[1] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VFCMADDCSH" xed="VFCMADDCSH_XMM2f16_MASKmskw_XMM2f16_XMM2f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_add_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP32" type="__m512h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by addition. Returns the sum of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 15
	tmp.fp16[i] := tmp.fp16[i] + a.fp16[i+16]
ENDFOR
FOR i := 0 to 7
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+8]
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+4]
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := tmp.fp16[i] + tmp.fp16[i+2]
ENDFOR
dst.fp16[0] := tmp.fp16[0] + tmp.fp16[1]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_mul_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP32" type="__m512h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by multiplication. Returns the product of all elements in "a".</description>
	<operation>
tmp := a
FOR i := 0 to 15
	tmp.fp16[i] := tmp.fp16[i] * a.fp16[i+16]
ENDFOR
FOR i := 0 to 7
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+8]
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+4]
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := tmp.fp16[i] * tmp.fp16[i+2]
ENDFOR
dst.fp16[0] := tmp.fp16[0] * tmp.fp16[1]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_max_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP32" type="__m512h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by maximum. Returns the maximum of all elements in "a". [max_float_note]</description>
	<operation>
tmp := a
FOR i := 0 to 15
	tmp.fp16[i] := (a.fp16[i] &gt; a.fp16[i+16] ? a.fp16[i] : a.fp16[i+16])
ENDFOR
FOR i := 0 to 7
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+8] ? tmp.fp16[i] : tmp.fp16[i+8])
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+4] ? tmp.fp16[i] : tmp.fp16[i+4])
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := (tmp.fp16[i] &gt; tmp.fp16[i+2] ? tmp.fp16[i] : tmp.fp16[i+2])
ENDFOR
dst.fp16[0] := (tmp.fp16[0] &gt; tmp.fp16[1] ? tmp.fp16[0] : tmp.fp16[1])
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_min_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP32" type="__m512h" varname="a" />
	<description>Reduce the packed half-precision (16-bit) floating-point elements in "a" by minimum. Returns the minimum of all elements in "a". [min_float_note]</description>
	<operation>
tmp := a
FOR i := 0 to 15
	tmp.fp16[i] := (a.fp16[i] &lt; a.fp16[i+16] ? tmp.fp16[i] : a.fp16[i+16])
ENDFOR
FOR i := 0 to 7
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+8] ? tmp.fp16[i] : tmp.fp16[i+8])
ENDFOR
FOR i := 0 to 3
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+4] ? tmp.fp16[i] : tmp.fp16[i+4])
ENDFOR
FOR i := 0 to 1
	tmp.fp16[i] := (tmp.fp16[i] &lt; tmp.fp16[i+2] ? tmp.fp16[i] : tmp.fp16[i+2])
ENDFOR
dst.fp16[0] := (tmp.fp16[0] &lt; tmp.fp16[1] ? tmp.fp16[0] : tmp.fp16[1])
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_abs_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="v2" />
	<description>Finds the absolute value of each packed half-precision (16-bit) floating-point element in "v2", storing the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := ABS(v2.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP32" type="__m512h" varname="dst" />
	<parameter etype="FP32" type="__m512h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst". Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_conj_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the complex conjugates of complex numbers in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). Each complex number is composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex number "complex = vec.fp16[0] + i * vec.fp16[1]", or the complex conjugate "conjugate = vec.fp16[0] - i * vec.fp16[1]".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := a[i+31:i] XOR FP32(-0.0)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 31
	k[j] := (a.fp16[j] OP b.fp16[j]) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_ZMMf16_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 31
	IF k1[j]
		k[j] := ( a.fp16[j] OP b.fp16[j] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_ZMMf16_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cmp_round_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k". [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 31
	k[j] := (a.fp16[j] OP b.fp16[j]) ? 1 : 0
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, zmm {sae}, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_ZMMf16_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cmp_round_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>CASE (imm8[3:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
FOR j := 0 to 31
	IF k1[j]
		k[j] := ( a.fp16[j] OP b.fp16[j] ) ? 1 : 0
	ELSE
		k[j] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, zmm {sae}, imm8" name="VCMPPH" xed="VCMPPH_MASKmskw_MASKmskw_ZMMf16_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_sh_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k".</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
k[0] := (a.fp16[0] OP b.fp16[0]) ? 1 : 0
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, xmm, imm8" name="VCMPSH" xed="VCMPSH_MASKmskw_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmp_round_sh_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k". [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
k[0] := (a.fp16[0] OP b.fp16[0]) ? 1 : 0
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, xmm {sae}, imm8" name="VCMPSH" xed="VCMPSH_MASKmskw_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_sh_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immwidth="5" type="const int" varname="imm8" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
IF k1[0]
	k[0] := ( a.fp16[0] OP b.fp16[0] ) ? 1 : 0
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm, imm8" name="VCMPSH" xed="VCMPSH_MASKmskw_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cmp_round_sh_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set). [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
IF k1[0]
	k[0] := ( a.fp16[0] OP b.fp16[0] ) ? 1 : 0
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, xmm {sae}, imm8" name="VCMPSH" xed="VCMPSH_MASKmskw_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comi_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and return the boolean result (0 or 1).</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
RETURN ( a.fp16[0] OP b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comi_round_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_CMP_" type="const int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" based on the comparison operand specified by "imm8", and return the boolean result (0 or 1). [sae_note]</description>
	<operation>CASE (imm8[4:0]) OF
0: OP := _CMP_EQ_OQ
1: OP := _CMP_LT_OS
2: OP := _CMP_LE_OS
3: OP := _CMP_UNORD_Q
4: OP := _CMP_NEQ_UQ
5: OP := _CMP_NLT_US
6: OP := _CMP_NLE_US
7: OP := _CMP_ORD_Q
8: OP := _CMP_EQ_UQ
9: OP := _CMP_NGE_US
10: OP := _CMP_NGT_US
11: OP := _CMP_FALSE_OQ
12: OP := _CMP_NEQ_OQ
13: OP := _CMP_GE_OS
14: OP := _CMP_GT_OS
15: OP := _CMP_TRUE_UQ
16: OP := _CMP_EQ_OS
17: OP := _CMP_LT_OQ
18: OP := _CMP_LE_OQ
19: OP := _CMP_UNORD_S
20: OP := _CMP_NEQ_US
21: OP := _CMP_NLT_UQ
22: OP := _CMP_NLE_UQ
23: OP := _CMP_ORD_S
24: OP := _CMP_EQ_US
25: OP := _CMP_NGE_UQ
26: OP := _CMP_NGT_UQ
27: OP := _CMP_FALSE_OS
28: OP := _CMP_NEQ_OS
29: OP := _CMP_GE_OQ
30: OP := _CMP_GT_OQ
31: OP := _CMP_TRUE_US
ESAC
RETURN ( a.fp16[0] OP b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm {sae}" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comieq_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for equality, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] == b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comilt_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for less-than, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &lt; b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comile_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &lt;= b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comigt_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for greater-than, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &gt; b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comige_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &gt;= b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comineq_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for not-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a.fp16[0] ==NaN OR b.fp16[0] ==NaN OR a.fp16[0] != b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VCOMISH" xed="VCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomieq_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for equality, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] == b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VUCOMISH" xed="VUCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomilt_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for less-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &lt; b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VUCOMISH" xed="VUCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomile_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &lt;= b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VUCOMISH" xed="VUCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomigt_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for greater-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &gt; b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VUCOMISH" xed="VUCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomige_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a.fp16[0] !=NaN AND b.fp16[0] !=NaN AND a.fp16[0] &gt;= b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VUCOMISH" xed="VUCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomineq_sh" tech="AVX-512">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compare the lower half-precision (16-bit) floating-point elements in "a" and "b" for not-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a.fp16[0] ==NaN OR b.fp16[0] ==NaN OR a.fp16[0] != b.fp16[0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="VUCOMISH" xed="VUCOMISH_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTW2PH" xed="VCVTW2PH_ZMMf16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTW2PH" xed="VCVTW2PH_ZMMf16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTW2PH" xed="VCVTW2PH_ZMMf16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTW2PH" xed="VCVTW2PH_ZMMf16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTW2PH" xed="VCVTW2PH_ZMMf16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepi16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTW2PH" xed="VCVTW2PH_ZMMf16_MASKmskw_ZMMi16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTUW2PH" xed="VCVTUW2PH_ZMMf16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTUW2PH" xed="VCVTUW2PH_ZMMf16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTUW2PH" xed="VCVTUW2PH_ZMMf16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTUW2PH" xed="VCVTUW2PH_ZMMf16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTUW2PH" xed="VCVTUW2PH_ZMMf16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepu16_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.fp16[j] := Convert_Int16_To_FP16(a.word[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTUW2PH" xed="VCVTUW2PH_ZMMf16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTDQ2PH" xed="VCVTDQ2PH_YMMf16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTDQ2PH" xed="VCVTDQ2PH_YMMf16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTDQ2PH" xed="VCVTDQ2PH_YMMf16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTDQ2PH" xed="VCVTDQ2PH_YMMf16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTDQ2PH" xed="VCVTDQ2PH_YMMf16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepi32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTDQ2PH" xed="VCVTDQ2PH_YMMf16_MASKmskw_ZMMi32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_YMMf16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_YMMf16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_YMMf16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_YMMf16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_YMMf16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepu32_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 32-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.fp16[j] := Convert_Int32_To_FP16(a.dword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTUDQ2PH" xed="VCVTUDQ2PH_YMMf16_MASKmskw_ZMMu32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm {er}" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm {er}" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepi64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed signed 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm {er}" name="VCVTQQ2PH" xed="VCVTQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm {er}" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm {er}" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundepu64_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed unsigned 64-bit integers in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_Int64_To_FP16(a.qword[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm {er}" name="VCVTUQQ2PH" xed="VCVTUQQ2PH_XMMf16_MASKmskw_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, zmm {er}" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, zmm {er}" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.fp16[j] := Convert_FP64_To_FP16(a.fp64[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, zmm {er}" name="VCVTPD2PH" xed="VCVTPD2PH_XMMf16_MASKmskw_ZMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper element of "dst".</description>
	<operation>
dst.fp16[0] := Convert_FP64_To_FP16(b.fp64[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VCVTSD2SH" xed="VCVTSD2SH_XMMf16_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := Convert_FP64_To_FP16(b.fp64[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VCVTSD2SH" xed="VCVTSD2SH_XMMf16_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP64_To_FP16(b.fp64[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VCVTSD2SH" xed="VCVTSD2SH_XMMf16_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvt_roundsd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP64_To_FP16(b.fp64[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VCVTSD2SH" xed="VCVTSD2SH_XMMf16_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP64_To_FP16(b.fp64[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VCVTSD2SH" xed="VCVTSD2SH_XMMf16_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvt_roundsd_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP64_To_FP16(b.fp64[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VCVTSD2SH" xed="VCVTSD2SH_XMMf16_MASKmskw_XMMf64_XMMf64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm" name="VCVTPS2PHX" xed="VCVTPS2PHX_YMMf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtx_roundps_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, zmm {er}" name="VCVTPS2PHX" xed="VCVTPS2PHX_YMMf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm" name="VCVTPS2PHX" xed="VCVTPS2PHX_YMMf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtx_roundps_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, zmm {er}" name="VCVTPS2PHX" xed="VCVTPS2PHX_YMMf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtxps_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm" name="VCVTPS2PHX" xed="VCVTPS2PHX_YMMf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtx_roundps_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp16[j] := Convert_FP32_To_FP16(a.fp32[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, zmm {er}" name="VCVTPS2PHX" xed="VCVTPS2PHX_YMMf16_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := Convert_FP32_To_FP16(b.fp32[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VCVTSS2SH" xed="VCVTSS2SH_XMMf16_MASKmskw_XMMf16_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundss_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := Convert_FP32_To_FP16(b.fp32[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VCVTSS2SH" xed="VCVTSS2SH_XMMf16_MASKmskw_XMMf16_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtss_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP32_To_FP16(b.fp32[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VCVTSS2SH" xed="VCVTSS2SH_XMMf16_MASKmskw_XMMf16_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvt_roundss_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP32_To_FP16(b.fp32[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VCVTSS2SH" xed="VCVTSS2SH_XMMf16_MASKmskw_XMMf16_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtss_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP32_To_FP16(b.fp32[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VCVTSS2SH" xed="VCVTSS2SH_XMMf16_MASKmskw_XMMf16_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvt_roundss_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a half-precision (16-bit) floating-point elements, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := Convert_FP32_To_FP16(b.fp32[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VCVTSS2SH" xed="VCVTSS2SH_XMMf16_MASKmskw_XMMf16_XMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTPH2DQ" xed="VCVTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {er}" name="VCVTPH2DQ" xed="VCVTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTPH2DQ" xed="VCVTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {er}" name="VCVTPH2DQ" xed="VCVTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTPH2DQ" xed="VCVTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {er}" name="VCVTPH2DQ" xed="VCVTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {sae}" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {sae}" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundph_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_Int32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {sae}" name="VCVTTPH2DQ" xed="VCVTTPH2DQ_ZMMi32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {er}" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {er}" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {er}" name="VCVTPH2UDQ" xed="VCVTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 TO 15
	dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {sae}" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {sae}" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundph_epu32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 32-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 15
	IF k[j]
		dst.dword[j] := Convert_FP16_To_UInt32_Truncate(a.fp16[j])
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {sae}" name="VCVTTPH2UDQ" xed="VCVTTPH2UDQ_ZMMu32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm {er}" name="VCVTPH2QQ" xed="VCVTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm {er}" name="VCVTPH2QQ" xed="VCVTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VCVTPH2QQ" xed="VCVTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm {er}" name="VCVTPH2QQ" xed="VCVTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm {sae}" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm {sae}" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundph_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_Int64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm {sae}" name="VCVTTPH2QQ" xed="VCVTTPH2QQ_ZMMi64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm {er}" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm {er}" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm  {er}" name="VCVTPH2UQQ" xed="VCVTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 TO 7
	dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm {sae}" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := src.qword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm {sae}" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundph_epu64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 64-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 7
	IF k[j]
		dst.qword[j] := Convert_FP16_To_UInt64_Truncate(a.fp16[j])
	ELSE
		dst.qword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm {sae}" name="VCVTTPH2UQQ" xed="VCVTTPH2UQQ_ZMMu64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPH2W" xed="VCVTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VCVTPH2W" xed="VCVTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPH2W" xed="VCVTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VCVTPH2W" xed="VCVTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTPH2W" xed="VCVTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VCVTPH2W" xed="VCVTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTTPH2W" xed="VCVTTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VCVTTPH2W" xed="VCVTTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTTPH2W" xed="VCVTTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VCVTTPH2W" xed="VCVTTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTTPH2W" xed="VCVTTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundph_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_Int16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VCVTTPH2W" xed="VCVTTPH2W_ZMMi16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTPH2UW" xed="VCVTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VCVTPH2UW" xed="VCVTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTPH2UW" xed="VCVTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VCVTPH2UW" xed="VCVTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTPH2UW" xed="VCVTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VCVTPH2UW" xed="VCVTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VCVTTPH2UW" xed="VCVTTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtt_roundph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VCVTTPH2UW" xed="VCVTTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VCVTTPH2UW" xed="VCVTTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtt_roundph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := src.word[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VCVTTPH2UW" xed="VCVTTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvttph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VCVTTPH2UW" xed="VCVTTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtt_roundph_epu16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed unsigned 16-bit integers with truncation, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 TO 31
	IF k[j]
		dst.word[j] := Convert_FP16_To_UInt16_Truncate(a.fp16[j])
	ELSE
		dst.word[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VCVTTPH2UW" xed="VCVTTPH2UW_ZMMu16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_ZMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvt_roundph_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 7
	dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, xmm {sae}" name="VCVTPH2PD" xed="VCVTPH2PD_ZMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := src.fp64[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_ZMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvt_roundph_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := src.fp64[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, xmm {sae}" name="VCVTPH2PD" xed="VCVTPH2PD_ZMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtph_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm" name="VCVTPH2PD" xed="VCVTPH2PD_ZMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvt_roundph_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		dst.fp64[j] := Convert_FP16_To_FP64(a.fp16[j])
	ELSE
		dst.fp64[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, xmm {sae}" name="VCVTPH2PD" xed="VCVTPH2PD_ZMMf64_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm" name="VCVTPH2PSX" xed="VCVTPH2PSX_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtx_roundph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst". [sae_note]</description>
	<operation>
FOR j := 0 to 15
	dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, ymm {sae}" name="VCVTPH2PSX" xed="VCVTPH2PSX_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := src.fp32[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm" name="VCVTPH2PSX" xed="VCVTPH2PSX_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_cvtx_roundph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := src.fp32[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, ymm {sae}" name="VCVTPH2PSX" xed="VCVTPH2PSX_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtxph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm" name="VCVTPH2PSX" xed="VCVTPH2PSX_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_cvtx_roundph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note]</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		dst.fp32[j] := Convert_FP16_To_FP32(a.fp16[j])
	ELSE
		dst.fp32[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, ymm {sae}" name="VCVTPH2PSX" xed="VCVTPH2PSX_ZMMf32_MASKmskw_YMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsh_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst.fp64[0] := Convert_FP16_To_FP64(b.fp16[0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VCVTSH2SD" xed="VCVTSH2SD_XMMf64_MASKmskw_XMMf64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsh_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [sae_note]</description>
	<operation>
dst.fp64[0] := Convert_FP16_To_FP64(b.fp16[0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VCVTSH2SD" xed="VCVTSH2SD_XMMf64_MASKmskw_XMMf64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsh_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst.fp64[0] := Convert_FP16_To_FP64(b.fp16[0])
ELSE
	dst.fp64[0] := src.fp64[0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VCVTSH2SD" xed="VCVTSH2SD_XMMf64_MASKmskw_XMMf64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvt_roundsh_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [sae_note]</description>
	<operation>
IF k[0]
	dst.fp64[0] := Convert_FP16_To_FP64(b.fp16[0])
ELSE
	dst.fp64[0] := src.fp64[0]
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VCVTSH2SD" xed="VCVTSH2SD_XMMf64_MASKmskw_XMMf64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsh_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
IF k[0]
	dst.fp64[0] := Convert_FP16_To_FP64(b.fp16[0])
ELSE
	dst.fp64[0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VCVTSH2SD" xed="VCVTSH2SD_XMMf64_MASKmskw_XMMf64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvt_roundsh_sd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper element from "a" to the upper element of "dst". [sae_note]</description>
	<operation>
IF k[0]
	dst.fp64[0] := Convert_FP16_To_FP64(b.fp16[0])
ELSE
	dst.fp64[0] := 0
FI
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VCVTSH2SD" xed="VCVTSH2SD_XMMf64_MASKmskw_XMMf64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsh_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp32[0] := Convert_FP16_To_FP32(b.fp16[0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VCVTSH2SS" xed="VCVTSH2SS_XMMf32_MASKmskw_XMMf32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsh_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note]</description>
	<operation>
dst.fp32[0] := Convert_FP16_To_FP32(b.fp16[0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VCVTSH2SS" xed="VCVTSH2SS_XMMf32_MASKmskw_XMMf32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvtsh_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp32[0] := Convert_FP16_To_FP32(b.fp16[0])
ELSE
	dst.fp32[0] := src.fp32[0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VCVTSH2SS" xed="VCVTSH2SS_XMMf32_MASKmskw_XMMf32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_mask_cvt_roundsh_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note]</description>
	<operation>
IF k[0]
	dst.fp32[0] := Convert_FP16_To_FP32(b.fp16[0])
ELSE
	dst.fp32[0] := src.fp32[0]
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VCVTSH2SS" xed="VCVTSH2SS_XMMf32_MASKmskw_XMMf32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvtsh_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp32[0] := Convert_FP16_To_FP32(b.fp16[0])
ELSE
	dst.fp32[0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VCVTSH2SS" xed="VCVTSH2SS_XMMf32_MASKmskw_XMMf32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_cvt_roundsh_ss" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 3 packed elements from "a" to the upper elements of "dst". [sae_note]</description>
	<operation>
IF k[0]
	dst.fp32[0] := Convert_FP16_To_FP32(b.fp16[0])
ELSE
	dst.fp32[0] := 0
FI
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VCVTSH2SS" xed="VCVTSH2SS_XMMf32_MASKmskw_XMMf32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsh_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".</description>
	<operation>
dst.dword := Convert_FP16_To_Int32(a.fp16[0])
	</operation>
	<instruction form="r32, xmm" name="VCVTSH2SI" xed="VCVTSH2SI_GPR32i32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsh_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst.dword := Convert_FP16_To_Int32(a.fp16[0])
	</operation>
	<instruction form="r32, xmm {er}" name="VCVTSH2SI" xed="VCVTSH2SI_GPR32i32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsh_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".</description>
	<operation>
dst.qword := Convert_FP16_To_Int64(a.fp16[0])
	</operation>
	<instruction form="r64, xmm" name="VCVTSH2SI" xed="VCVTSH2SI_GPR64i64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsh_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".
	[round_note]</description>
	<operation>
dst.qword := Convert_FP16_To_Int64(a.fp16[0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSH2SI" xed="VCVTSH2SI_GPR64i64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsh_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst.dword := Convert_FP16_To_Int32_Truncate(a.fp16[0])
	</operation>
	<instruction form="r32, xmm" name="VCVTTSH2SI" xed="VCVTTSH2SI_GPR32i32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsh_i32" tech="AVX-512">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst". [sae_note]</description>
	<operation>
dst.dword := Convert_FP16_To_Int32_Truncate(a.fp16[0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSH2SI" xed="VCVTTSH2SI_GPR32i32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsh_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst.qword := Convert_FP16_To_Int64_Truncate(a.fp16[0])
	</operation>
	<instruction form="r64, xmm" name="VCVTTSH2SI" xed="VCVTTSH2SI_GPR64i64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsh_i64" tech="AVX-512">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst". [sae_note]</description>
	<operation>
dst.qword := Convert_FP16_To_Int64_Truncate(a.fp16[0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSH2SI" xed="VCVTTSH2SI_GPR64i64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsh_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 32-bit integer, and store the result in "dst".</description>
	<operation>
dst.dword := Convert_FP16_To_UInt32(a.fp16[0])
	</operation>
	<instruction form="r32, xmm" name="VCVTSH2USI" xed="VCVTSH2USI_GPR32u32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsh_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 32-bit integer, and store the result in "dst". [sae_note]</description>
	<operation>
dst.dword := Convert_FP16_To_UInt32(a.fp16[0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTSH2USI" xed="VCVTSH2USI_GPR32u32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsh_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 64-bit integer, and store the result in "dst".</description>
	<operation>
dst.qword := Convert_FP16_To_UInt64(a.fp16[0])
	</operation>
	<instruction form="r64, xmm" name="VCVTSH2USI" xed="VCVTSH2USI_GPR64u64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundsh_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 64-bit integer, and store the result in "dst". [round_note]</description>
	<operation>
dst.qword := Convert_FP16_To_UInt64(a.fp16[0])
	</operation>
	<instruction form="r64, xmm {er}" name="VCVTSH2USI" xed="VCVTSH2USI_GPR64u64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsh_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst.dword := Convert_FP16_To_UInt32_Truncate(a.fp16[0])
	</operation>
	<instruction form="r32, xmm" name="VCVTTSH2USI" xed="VCVTTSH2USI_GPR32u32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsh_u32" tech="AVX-512">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 32-bit integer with truncation, and store the result in "dst". [sae_note]</description>
	<operation>
dst.dword := Convert_FP16_To_UInt32_Truncate(a.fp16[0])
	</operation>
	<instruction form="r32, xmm {sae}" name="VCVTTSH2USI" xed="VCVTTSH2USI_GPR32u32_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsh_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst.qword := Convert_FP16_To_UInt64_Truncate(a.fp16[0])
	</operation>
	<instruction form="r64, xmm" name="VCVTTSH2USI" xed="VCVTTSH2USI_GPR64u64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_roundsh_u64" tech="AVX-512">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Convert the lower half-precision (16-bit) floating-point element in "a" to an unsigned 64-bit integer with truncation, and store the result in "dst". [sae_note]</description>
	<operation>
dst.qword := Convert_FP16_To_UInt64_Truncate(a.fp16[0])
	</operation>
	<instruction form="r64, xmm {sae}" name="VCVTTSH2USI" xed="VCVTTSH2USI_GPR64u64_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvti32_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<description>Convert the signed 32-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := Convert_Int32_To_FP16(b.fp32[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32" name="VCVTSI2SH" xed="VCVTSI2SH_XMMf16_XMMf16_GPR32i32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundi32_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 32-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := Convert_Int32_To_FP16(b.fp32[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32 {er}" name="VCVTSI2SH" xed="VCVTSI2SH_XMMf16_XMMf16_GPR32i32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtu32_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<description>Convert the unsigned 32-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := Convert_Int32_To_FP16(b.fp32[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32" name="VCVTUSI2SH" xed="VCVTUSI2SH_XMMf16_XMMf16_GPR32u32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundu32_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the unsigned 32-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := Convert_Int32_To_FP16(b.fp32[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r32 {er}" name="VCVTUSI2SH" xed="VCVTUSI2SH_XMMf16_XMMf16_GPR32u32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvti64_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<description>Convert the signed 64-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := Convert_Int64_To_FP16(b.fp64[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64" name="VCVTSI2SH" xed="VCVTSI2SH_XMMf16_XMMf16_GPR64i64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundi64_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the signed 64-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := Convert_Int64_To_FP16(b.fp64[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTSI2SH" xed="VCVTSI2SH_XMMf16_XMMf16_GPR64i64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtu64_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<description>Convert the unsigned 64-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := Convert_Int64_To_FP16(b.fp64[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64" name="VCVTUSI2SH" xed="VCVTUSI2SH_XMMf16_XMMf16_GPR64u64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_roundu64_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the unsigned 64-bit integer "b" to a half-precision (16-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst.fp16[0] := Convert_Int64_To_FP16(b.fp64[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, r64 {er}" name="VCVTUSI2SH" xed="VCVTUSI2SH_XMMf16_XMMf16_GPR64u64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi16_si128" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Copy 16-bit integer "a" to the lower elements of "dst", and zero the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := a.fp16[0]
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm, r16" name="VMOVW" xed="VMOVW_XMMf16_GPR32f16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi128_si16" tech="AVX-512">
	<return etype="UI16" type="short" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Copy the lower 16-bit integer in "a" to "dst".</description>
	<operation>
dst.fp16[0] := a.fp16[0]
dst[MAX:16] := 0
	</operation>
	<instruction form="r16, xmm" name="VMOVW" xed="VMOVW_GPR32f16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsh_h" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Copy the lower half-precision (16-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[15:0] := a.fp16[0]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtsh_h" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Copy the lower half-precision (16-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[15:0] := a.fp16[0]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_cvtsh_h" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="_Float16" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Copy the lower half-precision (16-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[15:0] := a.fp16[0]
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm512_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMAXPH" xed="VMAXPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMAXPH" xed="VMAXPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMAXPH" xed="VMAXPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_max_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}" name="VMAXPH" xed="VMAXPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_max_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}" name="VMAXPH" xed="VMAXPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_max_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note][max_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &gt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}" name="VMAXPH" xed="VMAXPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VMINPH" xed="VMINPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VMINPH" xed="VMINPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VMINPH" xed="VMINPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_min_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [sae_note] [min_float_note]</description>
	<operation>
FOR j := 0 to 31
	dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {sae}" name="VMINPH" xed="VMINPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_min_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := src.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {sae}" name="VMINPH" xed="VMINPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_min_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="int" varname="sae" />
	<description>Compare packed half-precision (16-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [sae_note][min_float_note]</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := (a.fp16[j] &lt; b.fp16[j] ? a.fp16[j] : b.fp16[j])
	ELSE
		dst.fp16[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {sae}" name="VMINPH" xed="VMINPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower half-precision (16-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
dst.fp16[0] := ReduceArgumentFP16(b.fp16[0], imm8)
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VREDUCESH" xed="VREDUCESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_reduce_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Extract the reduced argument of the lower half-precision (16-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
dst.fp16[0] := ReduceArgumentFP16(b.fp16[0], imm8)
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}, imm8" name="VREDUCESH" xed="VREDUCESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower half-precision (16-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
IF k[0]
	dst.fp16[0] := ReduceArgumentFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VREDUCESH" xed="VREDUCESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_reduce_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Extract the reduced argument of the lower half-precision (16-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
IF k[0]
	dst.fp16[0] := ReduceArgumentFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}, imm8" name="VREDUCESH" xed="VREDUCESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of the lower half-precision (16-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
IF k[0]
	dst.fp16[0] := ReduceArgumentFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VREDUCESH" xed="VREDUCESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_reduce_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Extract the reduced argument of the lower half-precision (16-bit) floating-point element in "b" by the number of bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
IF k[0]
	dst.fp16[0] := ReduceArgumentFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}, imm8" name="VREDUCESH" xed="VREDUCESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_load_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" memwidth="16" type="void const*" varname="mem_addr" />
	<description>Load a half-precision (16-bit) floating-point element from memory into the lower element of "dst", and zero the upper elements.</description>
	<operation>
dst.fp16[0] := MEM[mem_addr].fp16[0]
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm, m64" name="VMOVSH" xed="VMOVSH_XMMf16_MASKmskw_MEMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_load_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" memwidth="16" type="void const*" varname="mem_addr" />
	<description>Load a half-precision (16-bit) floating-point element from memory into the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and set the upper elements of "dst" to zero.</description>
	<operation>
IF k[0]
	dst.fp16[0] := MEM[mem_addr].fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm {k}, m64" name="VMOVSH" xed="VMOVSH_XMMf16_MASKmskw_MEMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_load_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" memwidth="16" type="void const*" varname="mem_addr" />
	<description>Load a half-precision (16-bit) floating-point element from memory into the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and set the upper elements of "dst" to zero.</description>
	<operation>
IF k[0]
	dst.fp16[0] := MEM[mem_addr].fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[MAX:16] := 0
	</operation>
	<instruction form="xmm {z}, m64" name="VMOVSH" xed="VMOVSH_XMMf16_MASKmskw_MEMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_load_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 32 packed half-precision (16-bit) floating-point elements) from memory into "dst". 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVAPS" xed="VMOVAPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_loadu_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" memwidth="512" type="void const*" varname="mem_addr" />
	<description>Load 512-bits (composed of 32 packed half-precision (16-bit) floating-point elements) from memory into "dst". 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[511:0] := MEM[mem_addr+511:mem_addr]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, m512" name="VMOVUPS" xed="VMOVUPS_ZMMf32_MASKmskw_MEMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_store_sh" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="16" type="void *" varname="mem_addr" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Store the lower half-precision (16-bit) floating-point element from "a" into memory.</description>
	<operation>
MEM[mem_addr].fp16[0] := a.fp16[0]
	</operation>
	<instruction form="m16, xmm" name="VMOVSH" xed="VMOVSH_MEMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_store_sh" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="16" type="void *" varname="mem_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Store the lower half-precision (16-bit) floating-point element from "a" into memory using writemask "k".</description>
	<operation>
IF k[0]
	MEM[mem_addr].fp16[0] := a.fp16[0]
FI
	</operation>
	<instruction form="m16 {k}, xmm" name="VMOVSH" xed="VMOVSH_MEMf16_MASKmskw_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_store_ph" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="512" type="void *" varname="mem_addr" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Store 512-bits (composed of 32 packed half-precision (16-bit) floating-point elements) from "a" into memory. 
	"mem_addr" must be aligned on a 64-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVAPS" xed="VMOVAPS_MEMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_storeu_ph" tech="AVX-512">
	<return type="void" />
	<parameter etype="FP16" memwidth="512" type="void *" varname="mem_addr" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Store 512-bits (composed of 32 packed half-precision (16-bit) floating-point elements) from "a" into memory. 
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+511:mem_addr] := a[511:0]
	</operation>
	<instruction form="m512, zmm" name="VMOVUPS" xed="VMOVUPS_MEMf32_MASKmskw_ZMMf32_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_move_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Move the lower half-precision (16-bit) floating-point element from "b" to the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := b.fp16[0]
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VMOVSH" xed="VMOVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_mask_move_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Move the lower half-precision (16-bit) floating-point element from "b" to the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := b.fp16[0]
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VMOVSH" xed="VMOVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_move_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Move the lower half-precision (16-bit) floating-point element from "b" to the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := b.fp16[0]
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VMOVSH" xed="VMOVSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm512_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 31
	dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
ENDFOR
dest[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_roundscale_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 31
	dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
ENDFOR
dest[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dest[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_roundscale_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dest[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_roundscale_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dest[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_roundscale_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round packed half-precision (16-bit) floating-point elements in "a" to the number of fraction bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := RoundScaleFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dest[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}, imm8" name="VRNDSCALEPH" xed="VRNDSCALEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round the lower half-precision (16-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
dst.fp16[0] := RoundScaleFP16(b.fp16[0], imm8)
dst[127:16] := a[127:16]
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VRNDSCALESH" xed="VRNDSCALESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_roundscale_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower half-precision (16-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
dst.fp16[0] := RoundScaleFP16(b.fp16[0], imm8)
dst[127:16] := a[127:16]
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}, imm8" name="VRNDSCALESH" xed="VRNDSCALESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round the lower half-precision (16-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
IF k[0]
	dst.fp16[0] := RoundScaleFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VRNDSCALESH" xed="VRNDSCALESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_roundscale_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower half-precision (16-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
IF k[0]
	dst.fp16[0] := RoundScaleFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}, imm8" name="VRNDSCALESH" xed="VRNDSCALESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Round the lower half-precision (16-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
IF k[0]
	dst.fp16[0] := RoundScaleFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VRNDSCALESH" xed="VRNDSCALESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_roundscale_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Round the lower half-precision (16-bit) floating-point element in "b" to the number of fraction bits specified by "imm8", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE RoundScaleFP16(src.fp16, imm8[7:0]) {
	m.fp16 := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp.fp16 := POW(FP16(2.0), -m) * ROUND(POW(FP16(2.0), m) * src.fp16, imm8[3:0])
	RETURN tmp.fp16
}
IF k[0]
	dst.fp16[0] := RoundScaleFP16(b.fp16[0], imm8)
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dest[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}, imm8" name="VRNDSCALESH" xed="VRNDSCALESH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 31
	dst.fp16[i] := ConvertExpFP16(a.fp16[i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VGETEXPPH" xed="VGETEXPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getexp_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element. [sae_note]</description>
	<operation>FOR i := 0 to 31
	dst.fp16[i] := ConvertExpFP16(a.fp16[i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}" name="VGETEXPPH" xed="VGETEXPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VGETEXPPH" xed="VGETEXPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getexp_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element. [sae_note]</description>
	<operation>FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}" name="VGETEXPPH" xed="VGETEXPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getexp_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VGETEXPPH" xed="VGETEXPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getexp_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the exponent of each packed half-precision (16-bit) floating-point element in "a" to a half-precision (16-bit) floating-point number representing the integer exponent, and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "floor(log2(x))" for each element. [sae_note]</description>
	<operation>FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ConvertExpFP16(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}" name="VGETEXPPH" xed="VGETEXPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the exponent of the lower half-precision (16-bit) floating-point element in "b" to a half-precision (16-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>dst.fp16[0] := ConvertExpFP16(b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VGETEXPSH" xed="VGETEXPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getexp_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the exponent of the lower half-precision (16-bit) floating-point element in "b" to a half-precision (16-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element. [sae_note]</description>
	<operation>dst.fp16[0] := ConvertExpFP16(b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}" name="VGETEXPSH" xed="VGETEXPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the exponent of the lower half-precision (16-bit) floating-point element in "b" to a half-precision (16-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>IF k[0]
	dst.fp16[0] := ConvertExpFP16(b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VGETEXPSH" xed="VGETEXPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getexp_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the exponent of the lower half-precision (16-bit) floating-point element in "b" to a half-precision (16-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element. [sae_note]</description>
	<operation>IF k[0]
	dst.fp16[0] := ConvertExpFP16(b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}" name="VGETEXPSH" xed="VGETEXPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Convert the exponent of the lower half-precision (16-bit) floating-point element in "b" to a half-precision (16-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.</description>
	<operation>IF k[0]
	dst.fp16[0] := ConvertExpFP16(b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VGETEXPSH" xed="VGETEXPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getexp_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Convert the exponent of the lower half-precision (16-bit) floating-point element in "b" to a half-precision (16-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element. [sae_note]</description>
	<operation>IF k[0]
	dst.fp16[0] := ConvertExpFP16(b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}" name="VGETEXPSH" xed="VGETEXPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
			[getmant_note]</description>
	<operation>FOR i := 0 TO 31
	dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VGETMANTPH" xed="VGETMANTPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_getmant_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
			[getmant_note][sae_note]</description>
	<operation>FOR i := 0 TO 31
	dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}, imm8" name="VGETMANTPH" xed="VGETMANTPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
			[getmant_note]</description>
	<operation>FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VGETMANTPH" xed="VGETMANTPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_getmant_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
			[getmant_note][sae_note]</description>
	<operation>FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}, imm8" name="VGETMANTPH" xed="VGETMANTPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getmant_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
			[getmant_note]</description>
	<operation>FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VGETMANTPH" xed="VGETMANTPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_getmant_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Normalize the mantissas of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
			[getmant_note][sae_note]</description>
	<operation>FOR i := 0 TO 31
	IF k[i]
		dst.fp16[i] := GetNormalizedMantissaFP16(a.fp16[i], norm, sign)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}, imm8" name="VGETMANTPH" xed="VGETMANTPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note]</description>
	<operation>dst.fp16[0] := GetNormalizedMantissaFP16(b.fp16[0], norm, sign)
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VGETMANTSH" xed="VGETMANTSH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_getmant_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Normalize the mantissas of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>dst.fp16[0] := GetNormalizedMantissaFP16(b.fp16[0], norm, sign)
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {sae}, imm8" name="VGETMANTSH" xed="VGETMANTSH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note]</description>
	<operation>IF k[0]
	dst.fp16[0] := GetNormalizedMantissaFP16(b.fp16[0], norm, sign)
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VGETMANTSH" xed="VGETMANTSH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_getmant_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Normalize the mantissas of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>IF k[0]
	dst.fp16[0] := GetNormalizedMantissaFP16(b.fp16[0], norm, sign)
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {sae}, imm8" name="VGETMANTSH" xed="VGETMANTSH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<description>Normalize the mantissas of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note]</description>
	<operation>IF k[0]
	dst.fp16[0] := GetNormalizedMantissaFP16(b.fp16[0], norm, sign)
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VGETMANTSH" xed="VGETMANTSH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_getmant_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_NORM" type="_MM_MANTISSA_NORM_ENUM" varname="norm" />
	<parameter etype="IMM" immtype="_MM_MANTISSA_SIGN" type="_MM_MANTISSA_SIGN_ENUM" varname="sign" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Normalize the mantissas of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "&#177;(2^k)*|x.significand|", where "k" depends on the interval range defined by "norm" and the sign depends on "sign" and the source sign.
	[getmant_note][sae_note]</description>
	<operation>IF k[0]
	dst.fp16[0] := GetNormalizedMantissaFP16(b.fp16[0], norm, sign)
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {sae}, imm8" name="VGETMANTSH" xed="VGETMANTSH_XMMf16_MASKmskw_XMMf16_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 31
	dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, imm8" name="VREDUCEPH" xed="VREDUCEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_reduce_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst". [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 31
	dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {sae}, imm8" name="VREDUCEPH" xed="VREDUCEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, imm8" name="VREDUCEPH" xed="VREDUCEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_reduce_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {sae}, imm8" name="VREDUCEPH" xed="VREDUCEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_reduce_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, imm8" name="VREDUCEPH" xed="VREDUCEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_reduce_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immtype="_MM_REDUCE" type="int" varname="imm8" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND_SAE" type="const int" varname="sae" />
	<description>Extract the reduced argument of packed half-precision (16-bit) floating-point elements in "a" by the number of bits specified by "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). [round_imm_note][sae_note]</description>
	<operation>
DEFINE ReduceArgumentFP16(src[15:0], imm8[7:0]) {
	m[15:0] := FP16(imm8[7:4]) // number of fraction bits after the binary point to be preserved
	tmp[15:0] := POW(2.0, FP16(-m)) * ROUND(POW(2.0, FP16(m)) * src[15:0], imm8[3:0])
	tmp[15:0] := src[15:0] - tmp[15:0]
	IF IsInf(tmp[15:0])
		tmp[15:0] := FP16(0.0)
	FI
	RETURN tmp[15:0]
}
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := ReduceArgumentFP16(a.fp16[i], imm8)
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {sae}, imm8" name="VREDUCEPH" xed="VREDUCEPH_ZMMf16_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst".</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VSCALEFPH" xed="VSCALEFPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_scalef_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst".
	[round_note]</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="zmm, zmm, zmm {er}" name="VSCALEFPH" xed="VSCALEFPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VSCALEFPH" xed="VSCALEFPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_scalef_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm {er}" name="VSCALEFPH" xed="VSCALEFPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_scalef_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VSCALEFPH" xed="VSCALEFPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_scalef_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Scale the packed half-precision (16-bit) floating-point elements in "a" using values from "b", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
FOR i := 0 to 15
	IF k[i]
		dst.fp16[i] := ScaleFP16(a.fp16[i], b.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm {er}" name="VSCALEFPH" xed="VSCALEFPH_ZMMf16_MASKmskw_ZMMf16_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
dst.fp16[0] := ScaleFP16(a.fp16[0], b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSCALEFSH" xed="VSCALEFSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_scalef_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
dst.fp16[0] := ScaleFP16(a.fp16[0], b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSCALEFSH" xed="VSCALEFSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
IF k[0]
	dst.fp16[0] := ScaleFP16(a.fp16[0], b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSCALEFSH" xed="VSCALEFSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_scalef_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
IF k[0]
	dst.fp16[0] := ScaleFP16(a.fp16[0], b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSCALEFSH" xed="VSCALEFSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
IF k[0]
	dst.fp16[0] := ScaleFP16(a.fp16[0], b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSCALEFSH" xed="VSCALEFSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_scalef_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Scale the packed single-precision (32-bit) floating-point elements in "a" using values from "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>DEFINE ScaleFP16(src1, src2) {
	denormal1 := (a.exp == 0) and (a.fraction != 0)
	denormal2 := (b.exp == 0) and (b.fraction != 0)
	tmp1 := src1
	tmp2 := src2
	IF MXCSR.DAZ
		IF denormal1
			tmp1 := 0
		FI
		IF denormal2
			tmp2 := 0
		FI
	FI
	RETURN tmp1 * POW(2.0, FLOOR(tmp2))
}
IF k[0]
	dst.fp16[0] := ScaleFP16(a.fp16[0], b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSCALEFSH" xed="VSCALEFSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_fpclass_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed half-precision (16-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k".
				[fpclass_note]</description>
	<operation>FOR i := 0 to 31
	k[i] := CheckFPClass_FP16(a.fp16[i], imm8[7:0])
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k, zmm, imm8" name="VFPCLASSPH" xed="VFPCLASSPH_MASKmskw_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_fpclass_ph_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="MASK" type="__mmask32" varname="k1" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test packed half-precision (16-bit) floating-point elements in "a" for special categories specified by "imm8", and store the results in mask vector "k" using zeromask "k1" (elements are zeroed out when the corresponding mask bit is not set).
			[fpclass_note]</description>
	<operation>FOR i := 0 to 31
	IF k1[i]
		k[i] := CheckFPClass_FP16(a.fp16[i], imm8[7:0])
	ELSE
		k[i] := 0
	FI
ENDFOR
k[MAX:32] := 0
	</operation>
	<instruction form="k {k}, zmm, imm8" name="VFPCLASSPH" xed="VFPCLASSPH_MASKmskw_MASKmskw_ZMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_fpclass_sh_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test the lower half-precision (16-bit) floating-point element in "a" for special categories specified by "imm8", and store the result in mask vector "k".
			[fpclass_note]</description>
	<operation>k[0] := CheckFPClass_FP16(a.fp16[0], imm8[7:0])
k[MAX:1] := 0
	</operation>
	<instruction form="k, xmm, imm8" name="VFPCLASSSH" xed="VFPCLASSSH_MASKmskw_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_mask_fpclass_sh_mask" tech="AVX-512">
	<return etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="MASK" type="__mmask8" varname="k1" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Test the lower half-precision (16-bit) floating-point element in "a" for special categories specified by "imm8", and store the result in mask vector "k" using zeromask "k1" (the element is zeroed out when mask bit 0 is not set).
		[fpclass_note]</description>
	<operation>IF k1[0]
	k[0] := CheckFPClass_FP16(a.fp16[0], imm8[7:0])
ELSE
	k[0] := 0
FI
k[MAX:1] := 0
	</operation>
	<instruction form="k {k}, xmm, imm8" name="VFPCLASSSH" xed="VFPCLASSSH_MASKmskw_MASKmskw_XMMf16_IMM8_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex2var_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Shuffle half-precision (16-bit) floating-point elements in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	off := idx[i+4:i]
	dst.fp16[j] := idx[i+5] ? b.fp16[off] : a.fp16[off]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMI2W" xed="VPERMI2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<instruction form="zmm, zmm, zmm" name="VPERMT2W" xed="VPERMT2W_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_blend_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="FP16" type="__m512h" varname="b" />
	<description>Blend packed half-precision (16-bit) floating-point elements from "a" and "b" using control mask "k", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	IF k[j]
		dst.fp16[j] := b.fp16[j]
	ELSE
		dst.fp16[j] := a.fp16[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPBLENDMW" xed="VPBLENDMW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_permutexvar_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="idx" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Shuffle half-precision (16-bit) floating-point elements in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	id := idx[i+4:i]
	dst.fp16[j] := a.fp16[id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMW" xed="VPERMW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm512_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 31
	dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VRSQRTPH" xed="VRSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VRSQRTPH" xed="VRSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rsqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the approximate reciprocal square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := (1.0 / SQRT(a.fp16[i]))
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VRSQRTPH" xed="VRSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
dst.fp16[0] := (1.0 / SQRT(b.fp16[0]))
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VRSQRTSH" xed="VRSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rsqrt_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
IF k[0]
	dst.fp16[0] := (1.0 / SQRT(b.fp16[0]))
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VRSQRTSH" xed="VRSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rsqrt_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the approximate reciprocal square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
IF k[0]
	dst.fp16[0] := (1.0 / SQRT(b.fp16[0]))
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VRSQRTSH" xed="VRSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR i := 0 to 31
	dst.fp16[i] := SQRT(a.fp16[i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VSQRTPH" xed="VSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_sqrt_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst".
	[round_note]</description>
	<operation>
FOR i := 0 to 31
	dst.fp16[i] := SQRT(a.fp16[i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm {er}" name="VSQRTPH" xed="VSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VSQRTPH" xed="VSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_sqrt_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm {er}" name="VSQRTPH" xed="VSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sqrt_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VSQRTPH" xed="VSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_sqrt_round_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Compute the square root of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
	[round_note]</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := SQRT(a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm {er}" name="VSQRTPH" xed="VSQRTPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst.fp16[0] := SQRT(b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VSQRTSH" xed="VSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Compute the square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
dst.fp16[0] := SQRT(b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm {er}" name="VSQRTSH" xed="VSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := SQRT(b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VSQRTSH" xed="VSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_sqrt_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Compute the square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := SQRT(b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm {er}" name="VSQRTSH" xed="VSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
IF k[0]
	dst.fp16[0] := SQRT(b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VSQRTSH" xed="VSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_sqrt_round_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="const int" varname="rounding" />
	<description>Compute the square root of the lower half-precision (16-bit) floating-point element in "b", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst".
		[round_note]</description>
	<operation>
IF k[0]
	dst.fp16[0] := SQRT(b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm {er}" name="VSQRTSH" xed="VSQRTSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 31
	dst.fp16[i] := (1.0 / a.fp16[i])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm" name="VRCPPH" xed="VRCPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := (1.0 / a.fp16[i])
	ELSE
		dst.fp16[i] := src.fp16[i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VRCPPH" xed="VRCPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_rcp_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Compute the approximate reciprocal of packed half-precision (16-bit) floating-point elements in "a", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR i := 0 to 31
	IF k[i]
		dst.fp16[i] := (1.0 / a.fp16[i])
	ELSE
		dst.fp16[i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VRCPPH" xed="VRCPPH_ZMMf16_MASKmskw_ZMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rcp_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the approximate reciprocal of the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 7 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
dst.fp16[0] := (1.0 / b.fp16[0])
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VRCPSH" xed="VRCPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mask_rcp_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the approximate reciprocal of the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst" using writemask "k" (the element is copied from "src" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
IF k[0]
	dst.fp16[0] := (1.0 / b.fp16[0])
ELSE
	dst.fp16[0] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VRCPSH" xed="VRCPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_rcp_sh" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<parameter etype="FP16" type="__m128h" varname="b" />
	<description>Compute the approximate reciprocal of the lower half-precision (16-bit) floating-point element in "a", store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
IF k[0]
	dst.fp16[0] := (1.0 / b.fp16[0])
ELSE
	dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VRCPSH" xed="VRCPSH_XMMf16_MASKmskw_XMMf16_XMMf16_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_set_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="e7" />
	<parameter etype="FP16" type="_Float16" varname="e6" />
	<parameter etype="FP16" type="_Float16" varname="e5" />
	<parameter etype="FP16" type="_Float16" varname="e4" />
	<parameter etype="FP16" type="_Float16" varname="e3" />
	<parameter etype="FP16" type="_Float16" varname="e2" />
	<parameter etype="FP16" type="_Float16" varname="e1" />
	<parameter etype="FP16" type="_Float16" varname="e0" />
	<description>Set packed half-precision (16-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst.fp16[0] := e0
dst.fp16[1] := e1
dst.fp16[2] := e2
dst.fp16[3] := e3
dst.fp16[4] := e4
dst.fp16[5] := e5
dst.fp16[6] := e6
dst.fp16[7] := e7
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="e15" />
	<parameter etype="FP16" type="_Float16" varname="e14" />
	<parameter etype="FP16" type="_Float16" varname="e13" />
	<parameter etype="FP16" type="_Float16" varname="e12" />
	<parameter etype="FP16" type="_Float16" varname="e11" />
	<parameter etype="FP16" type="_Float16" varname="e10" />
	<parameter etype="FP16" type="_Float16" varname="e9" />
	<parameter etype="FP16" type="_Float16" varname="e8" />
	<parameter etype="FP16" type="_Float16" varname="e7" />
	<parameter etype="FP16" type="_Float16" varname="e6" />
	<parameter etype="FP16" type="_Float16" varname="e5" />
	<parameter etype="FP16" type="_Float16" varname="e4" />
	<parameter etype="FP16" type="_Float16" varname="e3" />
	<parameter etype="FP16" type="_Float16" varname="e2" />
	<parameter etype="FP16" type="_Float16" varname="e1" />
	<parameter etype="FP16" type="_Float16" varname="e0" />
	<description>Set packed half-precision (16-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst.fp16[0] := e0
dst.fp16[1] := e1
dst.fp16[2] := e2
dst.fp16[3] := e3
dst.fp16[4] := e4
dst.fp16[5] := e5
dst.fp16[6] := e6
dst.fp16[7] := e7
dst.fp16[8] := e8
dst.fp16[9] := e9
dst.fp16[10] := e10
dst.fp16[11] := e11
dst.fp16[12] := e12
dst.fp16[13] := e13
dst.fp16[14] := e14
dst.fp16[15] := e15
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="e31" />
	<parameter etype="FP16" type="_Float16" varname="e30" />
	<parameter etype="FP16" type="_Float16" varname="e29" />
	<parameter etype="FP16" type="_Float16" varname="e28" />
	<parameter etype="FP16" type="_Float16" varname="e27" />
	<parameter etype="FP16" type="_Float16" varname="e26" />
	<parameter etype="FP16" type="_Float16" varname="e25" />
	<parameter etype="FP16" type="_Float16" varname="e24" />
	<parameter etype="FP16" type="_Float16" varname="e23" />
	<parameter etype="FP16" type="_Float16" varname="e22" />
	<parameter etype="FP16" type="_Float16" varname="e21" />
	<parameter etype="FP16" type="_Float16" varname="e20" />
	<parameter etype="FP16" type="_Float16" varname="e19" />
	<parameter etype="FP16" type="_Float16" varname="e18" />
	<parameter etype="FP16" type="_Float16" varname="e17" />
	<parameter etype="FP16" type="_Float16" varname="e16" />
	<parameter etype="FP16" type="_Float16" varname="e15" />
	<parameter etype="FP16" type="_Float16" varname="e14" />
	<parameter etype="FP16" type="_Float16" varname="e13" />
	<parameter etype="FP16" type="_Float16" varname="e12" />
	<parameter etype="FP16" type="_Float16" varname="e11" />
	<parameter etype="FP16" type="_Float16" varname="e10" />
	<parameter etype="FP16" type="_Float16" varname="e9" />
	<parameter etype="FP16" type="_Float16" varname="e8" />
	<parameter etype="FP16" type="_Float16" varname="e7" />
	<parameter etype="FP16" type="_Float16" varname="e6" />
	<parameter etype="FP16" type="_Float16" varname="e5" />
	<parameter etype="FP16" type="_Float16" varname="e4" />
	<parameter etype="FP16" type="_Float16" varname="e3" />
	<parameter etype="FP16" type="_Float16" varname="e2" />
	<parameter etype="FP16" type="_Float16" varname="e1" />
	<parameter etype="FP16" type="_Float16" varname="e0" />
	<description>Set packed half-precision (16-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst.fp16[0] := e0
dst.fp16[1] := e1
dst.fp16[2] := e2
dst.fp16[3] := e3
dst.fp16[4] := e4
dst.fp16[5] := e5
dst.fp16[6] := e6
dst.fp16[7] := e7
dst.fp16[8] := e8
dst.fp16[9] := e9
dst.fp16[10] := e10
dst.fp16[11] := e11
dst.fp16[12] := e12
dst.fp16[13] := e13
dst.fp16[14] := e14
dst.fp16[15] := e15
dst.fp16[16] := e16
dst.fp16[17] := e17
dst.fp16[18] := e18
dst.fp16[19] := e19
dst.fp16[20] := e20
dst.fp16[21] := e21
dst.fp16[22] := e22
dst.fp16[23] := e23
dst.fp16[24] := e24
dst.fp16[25] := e25
dst.fp16[26] := e26
dst.fp16[27] := e27
dst.fp16[28] := e28
dst.fp16[29] := e29
dst.fp16[30] := e30
dst.fp16[31] := e31
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="e7" />
	<parameter etype="FP16" type="_Float16" varname="e6" />
	<parameter etype="FP16" type="_Float16" varname="e5" />
	<parameter etype="FP16" type="_Float16" varname="e4" />
	<parameter etype="FP16" type="_Float16" varname="e3" />
	<parameter etype="FP16" type="_Float16" varname="e2" />
	<parameter etype="FP16" type="_Float16" varname="e1" />
	<parameter etype="FP16" type="_Float16" varname="e0" />
	<description>Set packed half-precision (16-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst.fp16[0] := e7
dst.fp16[1] := e6
dst.fp16[2] := e5
dst.fp16[3] := e4
dst.fp16[4] := e3
dst.fp16[5] := e2
dst.fp16[6] := e1
dst.fp16[7] := e0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_setr_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="e15" />
	<parameter etype="FP16" type="_Float16" varname="e14" />
	<parameter etype="FP16" type="_Float16" varname="e13" />
	<parameter etype="FP16" type="_Float16" varname="e12" />
	<parameter etype="FP16" type="_Float16" varname="e11" />
	<parameter etype="FP16" type="_Float16" varname="e10" />
	<parameter etype="FP16" type="_Float16" varname="e9" />
	<parameter etype="FP16" type="_Float16" varname="e8" />
	<parameter etype="FP16" type="_Float16" varname="e7" />
	<parameter etype="FP16" type="_Float16" varname="e6" />
	<parameter etype="FP16" type="_Float16" varname="e5" />
	<parameter etype="FP16" type="_Float16" varname="e4" />
	<parameter etype="FP16" type="_Float16" varname="e3" />
	<parameter etype="FP16" type="_Float16" varname="e2" />
	<parameter etype="FP16" type="_Float16" varname="e1" />
	<parameter etype="FP16" type="_Float16" varname="e0" />
	<description>Set packed half-precision (16-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst.fp16[0] := e15
dst.fp16[1] := e14
dst.fp16[2] := e13
dst.fp16[3] := e12
dst.fp16[4] := e11
dst.fp16[5] := e10
dst.fp16[6] := e9
dst.fp16[7] := e8
dst.fp16[8] := e7
dst.fp16[9] := e6
dst.fp16[10] := e5
dst.fp16[11] := e4
dst.fp16[12] := e3
dst.fp16[13] := e2
dst.fp16[14] := e1
dst.fp16[15] := e0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setr_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="e31" />
	<parameter etype="FP16" type="_Float16" varname="e30" />
	<parameter etype="FP16" type="_Float16" varname="e29" />
	<parameter etype="FP16" type="_Float16" varname="e28" />
	<parameter etype="FP16" type="_Float16" varname="e27" />
	<parameter etype="FP16" type="_Float16" varname="e26" />
	<parameter etype="FP16" type="_Float16" varname="e25" />
	<parameter etype="FP16" type="_Float16" varname="e24" />
	<parameter etype="FP16" type="_Float16" varname="e23" />
	<parameter etype="FP16" type="_Float16" varname="e22" />
	<parameter etype="FP16" type="_Float16" varname="e21" />
	<parameter etype="FP16" type="_Float16" varname="e20" />
	<parameter etype="FP16" type="_Float16" varname="e19" />
	<parameter etype="FP16" type="_Float16" varname="e18" />
	<parameter etype="FP16" type="_Float16" varname="e17" />
	<parameter etype="FP16" type="_Float16" varname="e16" />
	<parameter etype="FP16" type="_Float16" varname="e15" />
	<parameter etype="FP16" type="_Float16" varname="e14" />
	<parameter etype="FP16" type="_Float16" varname="e13" />
	<parameter etype="FP16" type="_Float16" varname="e12" />
	<parameter etype="FP16" type="_Float16" varname="e11" />
	<parameter etype="FP16" type="_Float16" varname="e10" />
	<parameter etype="FP16" type="_Float16" varname="e9" />
	<parameter etype="FP16" type="_Float16" varname="e8" />
	<parameter etype="FP16" type="_Float16" varname="e7" />
	<parameter etype="FP16" type="_Float16" varname="e6" />
	<parameter etype="FP16" type="_Float16" varname="e5" />
	<parameter etype="FP16" type="_Float16" varname="e4" />
	<parameter etype="FP16" type="_Float16" varname="e3" />
	<parameter etype="FP16" type="_Float16" varname="e2" />
	<parameter etype="FP16" type="_Float16" varname="e1" />
	<parameter etype="FP16" type="_Float16" varname="e0" />
	<description>Set packed half-precision (16-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst.fp16[0] := e31
dst.fp16[1] := e30
dst.fp16[2] := e29
dst.fp16[3] := e28
dst.fp16[4] := e27
dst.fp16[5] := e26
dst.fp16[6] := e25
dst.fp16[7] := e24
dst.fp16[8] := e23
dst.fp16[9] := e22
dst.fp16[10] := e21
dst.fp16[11] := e20
dst.fp16[12] := e19
dst.fp16[13] := e18
dst.fp16[14] := e17
dst.fp16[15] := e16
dst.fp16[16] := e15
dst.fp16[17] := e14
dst.fp16[18] := e13
dst.fp16[19] := e12
dst.fp16[20] := e11
dst.fp16[21] := e10
dst.fp16[22] := e9
dst.fp16[23] := e8
dst.fp16[24] := e7
dst.fp16[25] := e6
dst.fp16[26] := e5
dst.fp16[27] := e4
dst.fp16[28] := e3
dst.fp16[29] := e2
dst.fp16[30] := e1
dst.fp16[31] := e0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="a" />
	<description>Broadcast half-precision (16-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[i] := a[15:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="a" />
	<description>Broadcast half-precision (16-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[i] := a[15:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_ph" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="a" />
	<description>Broadcast half-precision (16-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR i := 0 to 31
	dst.fp16[i] := a[15:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="_Float16 _Complex" varname="a" />
	<description>Broadcast half-precision (16-bit) complex floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR i := 0 to 3
	dst.fp16[2*i+0] := a[15:0]
	dst.fp16[2*i+1] := a[31:16]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm256_set1_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="_Float16 _Complex" varname="a" />
	<description>Broadcast half-precision (16-bit) complex floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR i := 0 to 7
	dst.fp16[2*i+0] := a[15:0]
	dst.fp16[2*i+1] := a[31:16]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_set1_pch" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="_Float16 _Complex" varname="a" />
	<description>Broadcast half-precision (16-bit) complex floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR i := 0 to 15
	dst.fp16[2*i+0] := a[15:0]
	dst.fp16[2*i+1] := a[31:16]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_sh" sequence="TRUE" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="_Float16" varname="a" />
	<description>Copy half-precision (16-bit) floating-point element "a" to the lower element of "dst", and zero the upper 7 elements.</description>
	<operation>
dst.fp16[0] := a[15:0]
dst[127:16] := 0
	</operation>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm512_setzero_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<description>Return vector of type __m512h with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPXORQ" xed="VPXORQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_castph_ps" tech="AVX-512">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Cast vector of type "__m128h" to type "__m128". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castph_ps" tech="AVX-512">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Cast vector of type "__m256h" to type "__m256". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castph_ps" tech="AVX-512">
	<return etype="FP32" type="__m512" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Cast vector of type "__m512h" to type "__m512". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castph_pd" tech="AVX-512">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Cast vector of type "__m128h" to type "__m128d". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castph_pd" tech="AVX-512">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Cast vector of type "__m256h" to type "__m256d". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castph_pd" tech="AVX-512">
	<return etype="FP64" type="__m512d" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Cast vector of type "__m512h" to type "__m512d". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castph_si128" tech="AVX-512">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Cast vector of type "__m128h" to type "__m128i". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castph_si256" tech="AVX-512">
	<return etype="M256" type="__m256i" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Cast vector of type "__m256h" to type "__m256i". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castph_si512" tech="AVX-512">
	<return etype="M512" type="__m512i" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Cast vector of type "__m512h" to type "__m512i". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castps_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Cast vector of type "__m128" to type "__m128h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castps_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<description>Cast vector of type "__m256" to type "__m256h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castps_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP32" type="__m512" varname="a" />
	<description>Cast vector of type "__m512" to type "__m512h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Cast vector of type "__m128d" to type "__m128h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<description>Cast vector of type "__m256d" to type "__m256h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castpd_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP64" type="__m512d" varname="a" />
	<description>Cast vector of type "__m512d" to type "__m512h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castsi128_ph" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Cast vector of type "__m128i" to type "__m128h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castsi256_ph" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Cast vector of type "__m256i" to type "__m256h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castsi512_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Cast vector of type "__m512i" to type "__m512h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castph256_ph128" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Cast vector of type "__m256h" to type "__m128h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castph512_ph128" tech="AVX-512">
	<return etype="FP16" type="__m128h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Cast vector of type "__m512h" to type "__m128h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castph512_ph256" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m512h" varname="a" />
	<description>Cast vector of type "__m512h" to type "__m256h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_castph128_ph256" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Cast vector of type "__m128h" to type "__m256h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castph128_ph512" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Cast vector of type "__m128h" to type "__m512h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_castph256_ph512" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Cast vector of type "__m256h" to type "__m512h". This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm256_zextph128_ph256" tech="AVX-512">
	<return etype="FP16" type="__m256h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Cast vector of type "__m128h" to type "__m256h"; the upper 128 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextph128_ph512" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m128h" varname="a" />
	<description>Cast vector of type "__m128h" to type "__m512h"; the upper 128 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_zextph256_ph512" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<parameter etype="FP16" type="__m256h" varname="a" />
	<description>Cast vector of type "__m256h" to type "__m512h"; the upper 128 bits of the result are zeroed. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm512_undefined_ph" tech="AVX-512">
	<return etype="FP16" type="__m512h" varname="dst" />
	<description>Return vector of type __m512h with undefined elements.</description>
	<CPUID>AVX512_FP16</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst".</description>
	<operation>
FOR i := 0 to 3
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		dst[q+j*8+7:q+j*8] := tmp8[7:0]
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_YMMu8_MASKmskw_YMMu8_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 3
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		IF k[i*8+j]
			dst[q+j*8+7:q+j*8] := tmp8[7:0]
		ELSE
			dst[q+j*8+7:q+j*8] := src[q+j*8+7:q+j*8]
		FI
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_YMMu8_MASKmskw_YMMu8_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 3
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		IF k[i*8+j]
			dst[q+j*8+7:q+j*8] := tmp8[7:0]
		ELSE
			dst[q+j*8+7:q+j*8] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_YMMu8_MASKmskw_YMMu8_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst".</description>
	<operation>
FOR i := 0 to 1
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		dst[q+j*8+7:q+j*8] := tmp8[7:0]
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_XMMu8_MASKmskw_XMMu8_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_mask_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 1
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		IF k[i*8+j]
			dst[q+j*8+7:q+j*8] := tmp8[7:0]
		ELSE
			dst[q+j*8+7:q+j*8] := src[q+j*8+7:q+j*8]
		FI
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_XMMu8_MASKmskw_XMMu8_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 1
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		IF k[i*8+j]
			dst[q+j*8+7:q+j*8] := tmp8[7:0]
		ELSE
			dst[q+j*8+7:q+j*8] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_XMMu8_MASKmskw_XMMu8_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm256_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="idx" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Shuffle 8-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	id := idx[i+4:i]*8
	dst[i+7:i] := a[id+7:id]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMB" xed="VPERMB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="idx" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Shuffle 8-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	id := idx[i+4:i]*8
	IF k[j]
		dst[i+7:i] := a[id+7:id]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMB" xed="VPERMB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="idx" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Shuffle 8-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	id := idx[i+4:i]*8
	IF k[j]
		dst[i+7:i] := a[id+7:id]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMB" xed="VPERMB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="idx" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Shuffle 8-bit integers in "a" using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	id := idx[i+3:i]*8
	dst[i+7:i] := a[id+7:id]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMB" xed="VPERMB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="idx" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Shuffle 8-bit integers in "a" using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	id := idx[i+3:i]*8
	IF k[j]
		dst[i+7:i] := a[id+7:id]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMB" xed="VPERMB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="idx" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Shuffle 8-bit integers in "a" using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	id := idx[i+3:i]*8
	IF k[j]
		dst[i+7:i] := a[id+7:id]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMB" xed="VPERMB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="idx" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	off := 8*idx[i+4:i]
	dst[i+7:i] := idx[i+5] ? b[off+7:off] : a[off+7:off]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPERMI2B" xed="VPERMI2B_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="idx" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		off := 8*idx[i+4:i]
		dst[i+7:i] := idx[i+5] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMT2B" xed="VPERMT2B_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask2_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="idx" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		off := 8*idx[i+4:i]
		dst[i+7:i] := idx[i+5] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := idx[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPERMI2B" xed="VPERMI2B_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="idx" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*8
	IF k[j]
		off := 8*idx[i+4:i]
		dst[i+7:i] := idx[i+5] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPERMI2B" xed="VPERMI2B_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<instruction form="ymm {z}, ymm, ymm" name="VPERMT2B" xed="VPERMT2B_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="idx" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	off := 8*idx[i+3:i]
	dst[i+7:i] := idx[i+4] ? b[off+7:off] : a[off+7:off]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPERMI2B" xed="VPERMI2B_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="idx" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		off := 8*idx[i+3:i]
		dst[i+7:i] := idx[i+4] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMT2B" xed="VPERMT2B_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask2_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="idx" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		off := 8*idx[i+3:i]
		dst[i+7:i] := idx[i+4] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := idx[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPERMI2B" xed="VPERMI2B_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="idx" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF k[j]
		off := 8*idx[i+3:i]
		dst[i+7:i] := idx[i+4] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPERMI2B" xed="VPERMI2B_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<instruction form="xmm {z}, xmm, xmm" name="VPERMT2B" xed="VPERMT2B_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst".</description>
	<operation>
FOR i := 0 to 7
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		dst[q+j*8+7:q+j*8] := tmp8[7:0]
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 7
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		IF k[i*8+j]
			dst[q+j*8+7:q+j*8] := tmp8[7:0]
		ELSE
			dst[q+j*8+7:q+j*8] := src[q+j*8+7:q+j*8]
		FI
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_multishift_epi64_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>For each 64-bit element in "b", select 8 unaligned bytes using a byte-granular shift control within the corresponding 64-bit element of "a", and store the 8 assembled bytes to the corresponding 64-bit element of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR i := 0 to 7
	q := i * 64
	FOR j := 0 to 7
		tmp8 := 0
		ctrl := a[q+j*8+7:q+j*8] &amp; 63
		FOR l := 0 to 7
			tmp8[l] := b[q+((ctrl+l) &amp; 63)]
		ENDFOR
		IF k[i*8+j]
			dst[q+j*8+7:q+j*8] := tmp8[7:0]
		ELSE
			dst[q+j*8+7:q+j*8] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPMULTISHIFTQB" xed="VPMULTISHIFTQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm512_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="idx" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Shuffle 8-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	id := idx[i+5:i]*8
	dst[i+7:i] := a[id+7:id]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMB" xed="VPERMB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="idx" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Shuffle 8-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	id := idx[i+5:i]*8
	IF k[j]
		dst[i+7:i] := a[id+7:id]
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMB" xed="VPERMB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutexvar_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="idx" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Shuffle 8-bit integers in "a" across lanes using the corresponding index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	id := idx[i+5:i]*8
	IF k[j]
		dst[i+7:i] := a[id+7:id]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMB" xed="VPERMB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="idx" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	off := 8*idx[i+5:i]
	dst[i+7:i] := idx[i+6] ? b[off+7:off] : a[off+7:off]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPERMI2B" xed="VPERMI2B_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="idx" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		off := 8*idx[i+5:i]
		dst[i+7:i] := idx[i+6] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMT2B" xed="VPERMT2B_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask2_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="idx" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		off := 8*idx[i+5:i]
		dst[i+7:i] := idx[i+6] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := idx[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPERMI2B" xed="VPERMI2B_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_permutex2var_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="idx" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Shuffle 8-bit integers in "a" and "b" across lanes using the corresponding selector and index in "idx", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 63
	i := j*8
	IF k[j]
		off := 8*idx[i+5:i]
		dst[i+7:i] := idx[i+6] ? b[off+7:off] : a[off+7:off]
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPERMI2B" xed="VPERMI2B_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<instruction form="zmm {z}, zmm, zmm" name="VPERMT2B" xed="VPERMT2B_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_maskz_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSHRDVQ" xed="VPSHRDVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSHRDVQ" xed="VPSHRDVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSHRDVQ" xed="VPSHRDVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSHRDVQ" xed="VPSHRDVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSHRDVQ" xed="VPSHRDVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSHRDVQ" xed="VPSHRDVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSHRDVD" xed="VPSHRDVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSHRDVD" xed="VPSHRDVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSHRDVD" xed="VPSHRDVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSHRDVD" xed="VPSHRDVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSHRDVD" xed="VPSHRDVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSHRDVD" xed="VPSHRDVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="UI16" type="__m256i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSHRDVW" xed="VPSHRDVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="UI16" type="__m256i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSHRDVW" xed="VPSHRDVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="UI16" type="__m256i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSHRDVW" xed="VPSHRDVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="UI16" type="__m128i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSHRDVW" xed="VPSHRDVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="UI16" type="__m128i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSHRDVW" xed="VPSHRDVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="UI16" type="__m128i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSHRDVW" xed="VPSHRDVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPSHRDQ" xed="VPSHRDQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst" using writemask "k" (elements are copied from "src"" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPSHRDQ" xed="VPSHRDQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPSHRDQ" xed="VPSHRDQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPSHRDQ" xed="VPSHRDQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst" using writemask "k" (elements are copied from "src"" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPSHRDQ" xed="VPSHRDQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPSHRDQ" xed="VPSHRDQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPSHRDD" xed="VPSHRDD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPSHRDD" xed="VPSHRDD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPSHRDD" xed="VPSHRDD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPSHRDD" xed="VPSHRDD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPSHRDD" xed="VPSHRDD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPSHRDD" xed="VPSHRDD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPSHRDW" xed="VPSHRDW_YMMu16_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPSHRDW" xed="VPSHRDW_YMMu16_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPSHRDW" xed="VPSHRDW_YMMu16_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPSHRDW" xed="VPSHRDW_XMMu16_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPSHRDW" xed="VPSHRDW_XMMu16_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPSHRDW" xed="VPSHRDW_XMMu16_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSHLDVQ" xed="VPSHLDVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSHLDVQ" xed="VPSHLDVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="UI64" type="__m256i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
	dst[i+63:i] := tmp[127:64]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSHLDVQ" xed="VPSHLDVQ_YMMu64_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSHLDVQ" xed="VPSHLDVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSHLDVQ" xed="VPSHLDVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="UI64" type="__m128i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
	dst[i+63:i] := tmp[127:64]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSHLDVQ" xed="VPSHLDVQ_XMMu64_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSHLDVD" xed="VPSHLDVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSHLDVD" xed="VPSHLDVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="UI32" type="__m256i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
	dst[i+31:i] := tmp[63:32]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSHLDVD" xed="VPSHLDVD_YMMu32_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSHLDVD" xed="VPSHLDVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSHLDVD" xed="VPSHLDVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
	dst[i+31:i] := tmp[63:32]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSHLDVD" xed="VPSHLDVD_XMMu32_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="UI16" type="__m256i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPSHLDVW" xed="VPSHLDVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="UI16" type="__m256i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPSHLDVW" xed="VPSHLDVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="UI16" type="__m256i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPSHLDVW" xed="VPSHLDVW_YMMu16_MASKmskw_YMMu16_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="UI16" type="__m128i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPSHLDVW" xed="VPSHLDVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="UI16" type="__m128i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPSHLDVW" xed="VPSHLDVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="UI16" type="__m128i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPSHLDVW" xed="VPSHLDVW_XMMu16_MASKmskw_XMMu16_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPSHLDQ" xed="VPSHLDQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPSHLDQ" xed="VPSHLDQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst").</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
	dst[i+63:i] := tmp[127:64]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPSHLDQ" xed="VPSHLDQ_YMMu64_MASKmskw_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPSHLDQ" xed="VPSHLDQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPSHLDQ" xed="VPSHLDQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst").</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
	dst[i+63:i] := tmp[127:64]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPSHLDQ" xed="VPSHLDQ_XMMu64_MASKmskw_XMMu64_XMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPSHLDD" xed="VPSHLDD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPSHLDD" xed="VPSHLDD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m256i" varname="dst" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
	dst[i+31:i] := tmp[63:32]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPSHLDD" xed="VPSHLDD_YMMu32_MASKmskw_YMMu32_YMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPSHLDD" xed="VPSHLDD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPSHLDD" xed="VPSHLDD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
	dst[i+31:i] := tmp[63:32]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPSHLDD" xed="VPSHLDD_XMMu32_MASKmskw_XMMu32_XMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VPSHLDW" xed="VPSHLDW_YMMu16_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VPSHLDW" xed="VPSHLDW_YMMu16_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<parameter etype="UI16" type="__m256i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst").</description>
	<operation>
FOR j := 0 to 15
	i := j*16
	tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPSHLDW" xed="VPSHLDW_YMMu16_MASKmskw_YMMu16_YMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VPSHLDW" xed="VPSHLDW_XMMu16_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_mask_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VPSHLDW" xed="VPSHLDW_XMMu16_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst").</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VPSHLDW" xed="VPSHLDW_XMMu16_MASKmskw_XMMu16_XMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expandloadu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" memwidth="256" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 16-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+m+15:mem_addr+m]
		m := m + 16
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VPEXPANDW" xed="VPEXPANDW_YMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expandloadu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" memwidth="256" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 16-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+m+15:mem_addr+m]
		m := m + 16
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m256" name="VPEXPANDW" xed="VPEXPANDW_YMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expandloadu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" memwidth="128" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 16-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+m+15:mem_addr+m]
		m := m + 16
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VPEXPANDW" xed="VPEXPANDW_XMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expandloadu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" memwidth="128" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 16-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+m+15:mem_addr+m]
		m := m + 16
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VPEXPANDW" xed="VPEXPANDW_XMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expandloadu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" memwidth="256" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 8-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+m+7:mem_addr+m]
		m := m + 8
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, m256" name="VPEXPANDB" xed="VPEXPANDB_YMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expandloadu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" memwidth="256" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 8-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+m+7:mem_addr+m]
		m := m + 8
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, m256" name="VPEXPANDB" xed="VPEXPANDB_YMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expandloadu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" memwidth="128" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 8-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+m+7:mem_addr+m]
		m := m + 8
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, m128" name="VPEXPANDB" xed="VPEXPANDB_XMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expandloadu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" memwidth="128" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 8-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+m+7:mem_addr+m]
		m := m + 8
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, m128" name="VPEXPANDB" xed="VPEXPANDB_XMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expand_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Load contiguous active 16-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[m+15:m]
		m := m + 16
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPEXPANDW" xed="VPEXPANDW_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expand_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Load contiguous active 16-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[i+15:i] := a[m+15:m]
		m := m + 16
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPEXPANDW" xed="VPEXPANDW_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expand_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Load contiguous active 16-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[m+15:m]
		m := m + 16
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPEXPANDW" xed="VPEXPANDW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expand_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Load contiguous active 16-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[i+15:i] := a[m+15:m]
		m := m + 16
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPEXPANDW" xed="VPEXPANDW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_expand_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Load contiguous active 8-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[m+7:m]
		m := m + 8
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPEXPANDB" xed="VPEXPANDB_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_expand_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Load contiguous active 8-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[i+7:i] := a[m+7:m]
		m := m + 8
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPEXPANDB" xed="VPEXPANDB_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_expand_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Load contiguous active 8-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[m+7:m]
		m := m + 8
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPEXPANDB" xed="VPEXPANDB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask_expand_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Load contiguous active 8-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[i+7:i] := a[m+7:m]
		m := m + 8
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPEXPANDB" xed="VPEXPANDB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_compress_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 16
m := 0
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPCOMPRESSW" xed="VPCOMPRESSW_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compress_epi16" tech="AVX-512">
	<return etype="UI16" type="__m256i" varname="dst" />
	<parameter etype="UI16" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 16
m := 0
FOR j := 0 to 15
	i := j*16
	IF k[j]
		dst[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := src[255:m]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPCOMPRESSW" xed="VPCOMPRESSW_YMMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_compress_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 16
m := 0
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPCOMPRESSW" xed="VPCOMPRESSW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compress_epi16" tech="AVX-512">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 16
m := 0
FOR j := 0 to 7
	i := j*16
	IF k[j]
		dst[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := src[127:m]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPCOMPRESSW" xed="VPCOMPRESSW_XMMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_compress_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 8
m := 0
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := 0
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm" name="VPCOMPRESSB" xed="VPCOMPRESSB_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compress_epi8" tech="AVX-512">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 8
m := 0
FOR j := 0 to 31
	i := j*8
	IF k[j]
		dst[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
dst[255:m] := src[255:m]
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm" name="VPCOMPRESSB" xed="VPCOMPRESSB_YMMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_compress_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 8
m := 0
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := 0
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm" name="VPCOMPRESSB" xed="VPCOMPRESSB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compress_epi8" tech="AVX-512">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 8
m := 0
FOR j := 0 to 15
	i := j*8
	IF k[j]
		dst[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
dst[127:m] := src[127:m]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm" name="VPCOMPRESSB" xed="VPCOMPRESSB_XMMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compressstoreu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI16" type="__m256i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 16
m := base_addr
FOR j := 0 to 15
	i := j*16
	IF k[j]
		MEM[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VPCOMPRESSW" xed="VPCOMPRESSW_MEMu16_MASKmskw_YMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compressstoreu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 16
m := base_addr
FOR j := 0 to 7
	i := j*16
	IF k[j]
		MEM[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VPCOMPRESSW" xed="VPCOMPRESSW_MEMu16_MASKmskw_XMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_compressstoreu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="256" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 8
m := base_addr
FOR j := 0 to 31
	i := j*8
	IF k[j]
		MEM[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m256 {k}, ymm" name="VPCOMPRESSB" xed="VPCOMPRESSB_MEMu8_MASKmskw_YMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_mask_compressstoreu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="128" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 8
m := base_addr
FOR j := 0 to 15
	i := j*8
	IF k[j]
		MEM[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m128 {k}, xmm" name="VPCOMPRESSB" xed="VPCOMPRESSB_MEMu8_MASKmskw_XMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_maskz_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSHRDVQ" xed="VPSHRDVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSHRDVQ" xed="VPSHRDVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shrdv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; (c[i+63:i] &amp; 63)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSHRDVQ" xed="VPSHRDVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSHRDVD" xed="VPSHRDVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSHRDVD" xed="VPSHRDVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shrdv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; (c[i+31:i] &amp; 31)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSHRDVD" xed="VPSHRDVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="UI16" type="__m512i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSHRDVW" xed="VPSHRDVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="UI16" type="__m512i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSHRDVW" xed="VPSHRDVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shrdv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="UI16" type="__m512i" varname="c" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by the amount specified in the corresponding element of "c", and store the lower 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; (c[i+15:i] &amp; 15)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSHRDVW" xed="VPSHRDVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPSHRDQ" xed="VPSHRDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst" using writemask "k" (elements are copied from "src"" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPSHRDQ" xed="VPSHRDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shrdi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "b" and "a" producing an intermediate 128-bit result. Shift the result right by "imm8" bits, and store the lower 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ((b[i+63:i] &lt;&lt; 64)[127:0] | a[i+63:i]) &gt;&gt; imm8[5:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPSHRDQ" xed="VPSHRDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPSHRDD" xed="VPSHRDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPSHRDD" xed="VPSHRDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shrdi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "b" and "a" producing an intermediate 64-bit result. Shift the result right by "imm8" bits, and store the lower 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	dst[i+31:i] := ((b[i+31:i] &lt;&lt; 32)[63:0] | a[i+31:i]) &gt;&gt; imm8[4:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPSHRDD" xed="VPSHRDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPSHRDW" xed="VPSHRDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPSHRDW" xed="VPSHRDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shrdi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "b" and "a" producing an intermediate 32-bit result. Shift the result right by "imm8" bits, and store the lower 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	dst[i+15:i] := ((b[i+15:i] &lt;&lt; 16)[31:0] | a[i+15:i]) &gt;&gt; imm8[3:0]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPSHRDW" xed="VPSHRDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSHLDVQ" xed="VPSHLDVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSHLDVQ" xed="VPSHLDVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shldv_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="UI64" type="__m512i" varname="c" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 64-bits in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; (c[i+63:i] &amp; 63)
	dst[i+63:i] := tmp[127:64]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSHLDVQ" xed="VPSHLDVQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSHLDVD" xed="VPSHLDVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSHLDVD" xed="VPSHLDVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shldv_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="UI32" type="__m512i" varname="c" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; (c[i+31:i] &amp; 31)
	dst[i+31:i] := tmp[63:32]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSHLDVD" xed="VPSHLDVD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="UI16" type="__m512i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPSHLDVW" xed="VPSHLDVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="UI16" type="__m512i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst" using writemask "k" (elements are copied from "a" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPSHLDVW" xed="VPSHLDVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shldv_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="UI16" type="__m512i" varname="c" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by the amount specified in the corresponding element of "c", and store the upper 16-bits in "dst".</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; (c[i+15:i] &amp; 15)
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPSHLDVW" xed="VPSHLDVW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPSHLDQ" xed="VPSHLDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	IF k[j]
		tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
		dst[i+63:i] := tmp[127:64]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPSHLDQ" xed="VPSHLDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shldi_epi64" tech="AVX-512">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 64-bit integers in "a" and "b" producing an intermediate 128-bit result. Shift the result left by "imm8" bits, and store the upper 64-bits in "dst").</description>
	<operation>
FOR j := 0 to 7
	i := j*64
	tmp[127:0] := ((a[i+63:i] &lt;&lt; 64)[127:0] | b[i+63:i]) &lt;&lt; imm8[5:0]
	dst[i+63:i] := tmp[127:64]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPSHLDQ" xed="VPSHLDQ_ZMMu64_MASKmskw_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPSHLDD" xed="VPSHLDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	IF k[j]
		tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
		dst[i+31:i] := tmp[63:32]
	ELSE
		dst[i+31:i] := src[i+31:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPSHLDD" xed="VPSHLDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shldi_epi32" tech="AVX-512">
	<return etype="UI32" type="__m512i" varname="dst" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 32-bit integers in "a" and "b" producing an intermediate 64-bit result. Shift the result left by "imm8" bits, and store the upper 32-bits in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*32
	tmp[63:0] := ((a[i+31:i] &lt;&lt; 32)[63:0] | b[i+31:i]) &lt;&lt; imm8[4:0]
	dst[i+31:i] := tmp[63:32]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPSHLDD" xed="VPSHLDD_ZMMu32_MASKmskw_ZMMu32_ZMMu32_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VPSHLDW" xed="VPSHLDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	IF k[j]
		tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
		dst[i+15:i] := tmp[31:16]
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VPSHLDW" xed="VPSHLDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_shldi_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<parameter etype="UI16" type="__m512i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Concatenate packed 16-bit integers in "a" and "b" producing an intermediate 32-bit result. Shift the result left by "imm8" bits, and store the upper 16-bits in "dst").</description>
	<operation>
FOR j := 0 to 31
	i := j*16
	tmp[31:0] := ((a[i+15:i] &lt;&lt; 16)[31:0] | b[i+15:i]) &lt;&lt; imm8[3:0]
	dst[i+15:i] := tmp[31:16]
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPSHLDW" xed="VPSHLDW_ZMMu16_MASKmskw_ZMMu16_ZMMu16_IMM8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expandloadu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" memwidth="512" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 16-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+m+15:mem_addr+m]
		m := m + 16
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VPEXPANDW" xed="VPEXPANDW_ZMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expandloadu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" memwidth="512" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 16-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := MEM[mem_addr+m+15:mem_addr+m]
		m := m + 16
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VPEXPANDW" xed="VPEXPANDW_ZMMu16_MASKmskw_MEMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expandloadu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" memwidth="512" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 8-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+m+7:mem_addr+m]
		m := m + 8
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, m512" name="VPEXPANDB" xed="VPEXPANDB_ZMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expandloadu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" memwidth="512" type="const void*" varname="mem_addr" />
	<description>Load contiguous active 8-bit integers from unaligned memory at "mem_addr" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := MEM[mem_addr+m+7:mem_addr+m]
		m := m + 8
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, m512" name="VPEXPANDB" xed="VPEXPANDB_ZMMu8_MASKmskw_MEMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expand_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Load contiguous active 16-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[m+15:m]
		m := m + 16
	ELSE
		dst[i+15:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPEXPANDW" xed="VPEXPANDW_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expand_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Load contiguous active 16-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[i+15:i] := a[m+15:m]
		m := m + 16
	ELSE
		dst[i+15:i] := src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPEXPANDW" xed="VPEXPANDW_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_expand_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Load contiguous active 8-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[m+7:m]
		m := m + 8
	ELSE
		dst[i+7:i] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPEXPANDB" xed="VPEXPANDB_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_expand_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Load contiguous active 8-bit integers from "a" (those with their respective bit set in mask "k"), and store the results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
m := 0
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[i+7:i] := a[m+7:m]
		m := m + 8
	ELSE
		dst[i+7:i] := src[i+7:i]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPEXPANDB" xed="VPEXPANDB_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_compress_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 16
m := 0
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := 0
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPCOMPRESSW" xed="VPCOMPRESSW_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compress_epi16" tech="AVX-512">
	<return etype="UI16" type="__m512i" varname="dst" />
	<parameter etype="UI16" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 16
m := 0
FOR j := 0 to 31
	i := j*16
	IF k[j]
		dst[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := src[511:m]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPCOMPRESSW" xed="VPCOMPRESSW_ZMMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_compress_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in zeromask "k") to "dst", and set the remaining elements to zero.</description>
	<operation>
size := 8
m := 0
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := 0
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm" name="VPCOMPRESSB" xed="VPCOMPRESSB_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compress_epi8" tech="AVX-512">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in writemask "k") to "dst", and pass through the remaining elements from "src".</description>
	<operation>
size := 8
m := 0
FOR j := 0 to 63
	i := j*8
	IF k[j]
		dst[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
dst[511:m] := src[511:m]
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm" name="VPCOMPRESSB" xed="VPCOMPRESSB_ZMMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compressstoreu_epi16" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI16" memwidth="512" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI16" type="__m512i" varname="a" />
	<description>Contiguously store the active 16-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 16
m := base_addr
FOR j := 0 to 31
	i := j*16
	IF k[j]
		MEM[m+size-1:m] := a[i+15:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VPCOMPRESSW" xed="VPCOMPRESSW_MEMu16_MASKmskw_ZMMu16_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_compressstoreu_epi8" tech="AVX-512">
	<category>Swizzle</category>
	<return type="void" />
	<parameter etype="UI8" memwidth="512" type="void*" varname="base_addr" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<description>Contiguously store the active 8-bit integers in "a" (those with their respective bit set in writemask "k") to unaligned memory at "base_addr".</description>
	<operation>
size := 8
m := base_addr
FOR j := 0 to 63
	i := j*8
	IF k[j]
		MEM[m+size-1:m] := a[i+7:i]
		m := m + size
	FI
ENDFOR
	</operation>
	<instruction form="m512 {k}, zmm" name="VPCOMPRESSB" xed="VPCOMPRESSB_MEMu8_MASKmskw_ZMMu8_AVX512" />
	<CPUID>AVX512_VBMI2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_maskz_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPDPWSSDS" xed="VPDPWSSDS_YMMi32_MASKmskw_YMMi16_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPDPWSSDS" xed="VPDPWSSDS_YMMi32_MASKmskw_YMMi16_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPDPWSSDS" xed="VPDPWSSDS_YMMi32_MASKmskw_YMMi16_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPDPWSSDS" xed="VPDPWSSDS_XMMi32_MASKmskw_XMMi16_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPDPWSSDS" xed="VPDPWSSDS_XMMi32_MASKmskw_XMMi16_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPDPWSSDS" xed="VPDPWSSDS_XMMi32_MASKmskw_XMMi16_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := src.dword[j] + tmp1 + tmp2
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPDPWSSD" xed="VPDPWSSD_YMMi32_MASKmskw_YMMi16_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := src.dword[j] + tmp1 + tmp2
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPDPWSSD" xed="VPDPWSSD_YMMi32_MASKmskw_YMMi16_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="SI16" type="__m256i" varname="a" />
	<parameter etype="SI16" type="__m256i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := src.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPDPWSSD" xed="VPDPWSSD_YMMi32_MASKmskw_YMMi16_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := src.dword[j] + tmp1 + tmp2
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPDPWSSD" xed="VPDPWSSD_XMMi32_MASKmskw_XMMi16_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := src.dword[j] + tmp1 + tmp2
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPDPWSSD" xed="VPDPWSSD_XMMi32_MASKmskw_XMMi16_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := src.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPDPWSSD" xed="VPDPWSSD_XMMi32_MASKmskw_XMMi16_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPDPBUSDS" xed="VPDPBUSDS_YMMi32_MASKmskw_YMMu8_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPDPBUSDS" xed="VPDPBUSDS_YMMi32_MASKmskw_YMMu8_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 7
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPDPBUSDS" xed="VPDPBUSDS_YMMi32_MASKmskw_YMMu8_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPDPBUSDS" xed="VPDPBUSDS_XMMi32_MASKmskw_XMMu8_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPDPBUSDS" xed="VPDPBUSDS_XMMi32_MASKmskw_XMMu8_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 3
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPDPBUSDS" xed="VPDPBUSDS_XMMi32_MASKmskw_XMMu8_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VPDPBUSD" xed="VPDPBUSD_YMMi32_MASKmskw_YMMu8_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 7
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VPDPBUSD" xed="VPDPBUSD_YMMi32_MASKmskw_YMMu8_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m256i" varname="dst" />
	<parameter etype="SI32" type="__m256i" varname="src" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="SI8" type="__m256i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 7
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VPDPBUSD" xed="VPDPBUSD_YMMi32_MASKmskw_YMMu8_YMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VPDPBUSD" xed="VPDPBUSD_XMMi32_MASKmskw_XMMu8_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask8" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 3
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VPDPBUSD" xed="VPDPBUSD_XMMi32_MASKmskw_XMMu8_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="src" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 3
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VPDPBUSD" xed="VPDPBUSD_XMMi32_MASKmskw_XMMu8_XMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_maskz_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPDPWSSDS" xed="VPDPWSSDS_ZMMi32_MASKmskw_ZMMi16_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPDPWSSDS" xed="VPDPWSSDS_ZMMi32_MASKmskw_ZMMi16_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_dpwssds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 15
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPDPWSSDS" xed="VPDPWSSDS_ZMMi32_MASKmskw_ZMMi16_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := src.dword[j] + tmp1 + tmp2
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPDPWSSD" xed="VPDPWSSD_ZMMi32_MASKmskw_ZMMi16_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
		tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
		dst.dword[j] := src.dword[j] + tmp1 + tmp2
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPDPWSSD" xed="VPDPWSSD_ZMMi32_MASKmskw_ZMMi16_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_dpwssd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="SI16" type="__m512i" varname="a" />
	<parameter etype="SI16" type="__m512i" varname="b" />
	<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 15
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := src.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPDPWSSD" xed="VPDPWSSD_ZMMi32_MASKmskw_ZMMi16_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPDPBUSDS" xed="VPDPBUSDS_ZMMi32_MASKmskw_ZMMu8_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPDPBUSDS" xed="VPDPBUSDS_ZMMi32_MASKmskw_ZMMu8_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_dpbusds_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 15
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPDPBUSDS" xed="VPDPBUSDS_ZMMi32_MASKmskw_ZMMu8_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
	ELSE
		dst.dword[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VPDPBUSD" xed="VPDPBUSD_ZMMi32_MASKmskw_ZMMu8_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
FOR j := 0 to 15
	IF k[j]
		tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
		tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
		tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
		tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
		dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
	ELSE
		dst.dword[j] := src.dword[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VPDPBUSD" xed="VPDPBUSD_ZMMi32_MASKmskw_ZMMu8_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_dpbusd_epi32" tech="AVX-512">
	<return etype="SI32" type="__m512i" varname="dst" />
	<parameter etype="SI32" type="__m512i" varname="src" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="SI8" type="__m512i" varname="b" />
	<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
	<operation>
FOR j := 0 to 15
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VPDPBUSD" xed="VPDPBUSD_ZMMi32_MASKmskw_ZMMu8_ZMMu32_AVX512" />
	<CPUID>AVX512_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_2intersect_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="__m512i" varname="a" />
	<parameter etype="UI32" type="__m512i" varname="b" />
	<parameter etype="MASK" memwidth="16" type="__mmask16*" varname="k1" />
	<parameter etype="MASK" memwidth="16" type="__mmask16*" varname="k2" />
	<description>Compute intersection of packed 32-bit integer vectors "a" and "b", and store indication of match in the corresponding bit of two mask registers specified by "k1" and "k2". A match in corresponding elements of "a" and "b" is indicated by a set bit in the corresponding bit of the mask registers.</description>
	<operation>
MEM[k1+15:k1] := 0
MEM[k2+15:k2] := 0
FOR i := 0 TO 15
	FOR j := 0 TO 15
		match := (a.dword[i] == b.dword[j] ? 1 : 0)
		MEM[k1+15:k1].bit[i] |= match
		MEM[k2+15:k2].bit[j] |= match
	ENDFOR
ENDFOR
	</operation>
	<instruction form="k, zmm, zmm" name="VP2INTERSECTD" xed="VP2INTERSECTD_MASKmskw_ZMMu32_ZMMu32_AVX512" />
	<CPUID>AVX512_VP2INTERSECT</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm512_2intersect_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="__m512i" varname="a" />
	<parameter etype="UI64" type="__m512i" varname="b" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k1" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k2" />
	<description>Compute intersection of packed 64-bit integer vectors "a" and "b", and store indication of match in the corresponding bit of two mask registers specified by "k1" and "k2". A match in corresponding elements of "a" and "b" is indicated by a set bit in the corresponding bit of the mask registers.</description>
	<operation>
MEM[k1+7:k1] := 0
MEM[k2+7:k2] := 0
FOR i := 0 TO 7
	FOR j := 0 TO 7
		match := (a.qword[i] == b.qword[j] ? 1 : 0)
		MEM[k1+7:k1].bit[i] |= match
		MEM[k2+7:k2].bit[j] |= match
	ENDFOR
ENDFOR
	</operation>
	<instruction form="k, zmm, zmm" name="VP2INTERSECTQ" xed="VP2INTERSECTQ_MASKmskw_ZMMu64_ZMMu64_AVX512" />
	<CPUID>AVX512_VP2INTERSECT</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	
	
<intrinsic name="_mm_2intersect_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k1" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k2" />
	<description>Compute intersection of packed 32-bit integer vectors "a" and "b", and store indication of match in the corresponding bit of two mask registers specified by "k1" and "k2". A match in corresponding elements of "a" and "b" is indicated by a set bit in the corresponding bit of the mask registers.</description>
	<operation>
MEM[k1+7:k1] := 0
MEM[k2+7:k2] := 0
FOR i := 0 TO 3
	FOR j := 0 TO 3
		match := (a.dword[i] == b.dword[j] ? 1 : 0)
		MEM[k1+7:k1].bit[i] |= match
		MEM[k2+7:k2].bit[j] |= match
	ENDFOR
ENDFOR
	</operation>
	<instruction form="k, xmm, xmm" name="VP2INTERSECTD" xed="VP2INTERSECTD_MASKmskw_XMMu32_XMMu32_AVX512" />
	<CPUID>AVX512_VP2INTERSECT</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm256_2intersect_epi32" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI32" type="__m256i" varname="a" />
	<parameter etype="UI32" type="__m256i" varname="b" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k1" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k2" />
	<description>Compute intersection of packed 32-bit integer vectors "a" and "b", and store indication of match in the corresponding bit of two mask registers specified by "k1" and "k2". A match in corresponding elements of "a" and "b" is indicated by a set bit in the corresponding bit of the mask registers.</description>
	<operation>
MEM[k1+7:k1] := 0
MEM[k2+7:k2] := 0
FOR i := 0 TO 7
	FOR j := 0 TO 7
		match := (a.dword[i] == b.dword[j] ? 1 : 0)
		MEM[k1+7:k1].bit[i] |= match
		MEM[k2+7:k2].bit[j] |= match
	ENDFOR
ENDFOR
	</operation>
	<instruction form="k, ymm, ymm" name="VP2INTERSECTD" xed="VP2INTERSECTD_MASKmskw_YMMu32_YMMu32_AVX512" />
	<CPUID>AVX512_VP2INTERSECT</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm_2intersect_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k1" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k2" />
	<description>Compute intersection of packed 64-bit integer vectors "a" and "b", and store indication of match in the corresponding bit of two mask registers specified by "k1" and "k2". A match in corresponding elements of "a" and "b" is indicated by a set bit in the corresponding bit of the mask registers.</description>
	<operation>
MEM[k1+7:k1] := 0
MEM[k2+7:k2] := 0
FOR i := 0 TO 1
	FOR j := 0 TO 1
		match := (a.qword[i] == b.qword[j] ? 1 : 0)
		MEM[k1+7:k1].bit[i] |= match
		MEM[k2+7:k2].bit[j] |= match
	ENDFOR
ENDFOR
	</operation>
	<instruction form="k, xmm, xmm" name="VP2INTERSECTQ" xed="VP2INTERSECTQ_MASKmskw_XMMu64_XMMu64_AVX512" />
	<CPUID>AVX512_VP2INTERSECT</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	<intrinsic name="_mm256_2intersect_epi64" tech="AVX-512">
	<return type="void" />
	<parameter etype="UI64" type="__m256i" varname="a" />
	<parameter etype="UI64" type="__m256i" varname="b" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k1" />
	<parameter etype="MASK" memwidth="8" type="__mmask8*" varname="k2" />
	<description>Compute intersection of packed 64-bit integer vectors "a" and "b", and store indication of match in the corresponding bit of two mask registers specified by "k1" and "k2". A match in corresponding elements of "a" and "b" is indicated by a set bit in the corresponding bit of the mask registers.</description>
	<operation>
MEM[k1+7:k1] := 0
MEM[k2+7:k2] := 0
FOR i := 0 TO 3
	FOR j := 0 TO 3
		match := (a.qword[i] == b.qword[j] ? 1 : 0)
		MEM[k1+7:k1].bit[i] |= match
		MEM[k2+7:k2].bit[j] |= match
	ENDFOR
ENDFOR
	</operation>
	<instruction form="k, ymm, ymm" name="VP2INTERSECTQ" xed="VP2INTERSECTQ_MASKmskw_YMMu64_YMMu64_AVX512" />
	<CPUID>AVX512_VP2INTERSECT</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Mask</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_madd52hi_avx_epu64" tech="AVX_ALL">
	<return type="__m256i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52HUQ" form="ymm, ymm, ymm" xed="VPMADD52HUQ_YMMu64_YMMu64_YMMu64" />
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
ENDFOR
dst[MAX:256] := 0
</operation>
	<parameter type="__m256i" varname="__X" etype="UI64" />
	<parameter type="__m256i" varname="__Y" etype="UI64" />
	<parameter type="__m256i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_madd52lo_avx_epu64" tech="AVX_ALL">
	<return type="__m256i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52LUQ" form="ymm, ymm, ymm" xed="VPMADD52LUQ_YMMu64_YMMu64_YMMu64" />
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
ENDFOR
dst[MAX:256] := 0
</operation>
	<parameter type="__m256i" varname="__X" etype="UI64" />
	<parameter type="__m256i" varname="__Y" etype="UI64" />
	<parameter type="__m256i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd52hi_avx_epu64" tech="AVX_ALL">
	<return type="__m128i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52HUQ" form="xmm, xmm, xmm" xed="VPMADD52HUQ_XMMu64_XMMu64_XMMu64" />
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
ENDFOR
dst[MAX:128] := 0
</operation>
	<parameter type="__m128i" varname="__X" etype="UI64" />
	<parameter type="__m128i" varname="__Y" etype="UI64" />
	<parameter type="__m128i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd52lo_avx_epu64" tech="AVX_ALL">
	<return type="__m128i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52LUQ" form="xmm, xmm, xmm" xed="VPMADD52LUQ_XMMu64_XMMu64_XMMu64" />
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
ENDFOR
dst[MAX:128] := 0
</operation>
	<parameter type="__m128i" varname="__X" etype="UI64" />
	<parameter type="__m128i" varname="__Y" etype="UI64" />
	<parameter type="__m128i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
<intrinsic name="_mm256_madd52hi_epu64" tech="AVX_ALL">
	<return type="__m256i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52HUQ" form="ymm, ymm, ymm" xed="VPMADD52HUQ_YMMu64_YMMu64_YMMu64" />
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
ENDFOR
dst[MAX:256] := 0
</operation>
	<parameter type="__m256i" varname="__X" etype="UI64" />
	<parameter type="__m256i" varname="__Y" etype="UI64" />
	<parameter type="__m256i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_madd52lo_epu64" tech="AVX_ALL">
	<return type="__m256i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52LUQ" form="ymm, ymm, ymm" xed="VPMADD52LUQ_YMMu64_YMMu64_YMMu64" />
	<operation>
FOR j := 0 to 3
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
ENDFOR
dst[MAX:256] := 0
</operation>
	<parameter type="__m256i" varname="__X" etype="UI64" />
	<parameter type="__m256i" varname="__Y" etype="UI64" />
	<parameter type="__m256i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd52hi_epu64" tech="AVX_ALL">
	<return type="__m128i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52HUQ" form="xmm, xmm, xmm" xed="VPMADD52HUQ_XMMu64_XMMu64_XMMu64" />
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
ENDFOR
dst[MAX:128] := 0
</operation>
	<parameter type="__m128i" varname="__X" etype="UI64" />
	<parameter type="__m128i" varname="__Y" etype="UI64" />
	<parameter type="__m128i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd52lo_epu64" tech="AVX_ALL">
	<return type="__m128i" varname="dst" etype="UI64" />
	<description>Multiply packed unsigned 52-bit integers in each 64-bit element of "__Y" and "__Z" to form a 104-bit intermediate result. Add the low 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in "__X", and store the results in "dst".</description>
	<instruction name="VPMADD52LUQ" form="xmm, xmm, xmm" xed="VPMADD52LUQ_XMMu64_XMMu64_XMMu64" />
	<operation>
FOR j := 0 to 1
	i := j*64
	tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
	dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
ENDFOR
dst[MAX:128] := 0
</operation>
	<parameter type="__m128i" varname="__X" etype="UI64" />
	<parameter type="__m128i" varname="__Y" etype="UI64" />
	<parameter type="__m128i" varname="__Z" etype="UI64" />
	<CPUID>AVX_IFMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
<intrinsic name="_mm256_bcstnebf16_ps" tech="AVX_ALL">
		<return type="__m256" varname="dst" etype="FP32" />
		<description>Convert scalar BF16 (16-bit) floating-point element stored at memory locations starting at location "__A" to a single-precision (32-bit) floating-point, broadcast it to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VBCSTNEBF162PS" form="ymm, m16" xed="VBCSTNEBF162PS_YMMf32_MEMbf16" />
		<operation>
b := Convert_BF16_To_FP32(MEM[__A+15:__A])
FOR j := 0 to 7
	m := j*32
	dst[m+31:m] := b
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="const __bf16*" memwidth="16" varname="__A" etype="BF16"/>
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_bcstnesh_ps" tech="AVX_ALL">
		<return type="__m256" varname="dst" etype="FP32" />
		<description>Convert scalar half-precision (16-bit) floating-point element stored at memory locations starting at location "__A" to a single-precision (32-bit) floating-point, broadcast it to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VBCSTNESH2PS" form="ymm, m16" xed="VBCSTNESH2PS_YMMf32_MEMf16" />
		<operation>
b := Convert_FP16_To_FP32(MEM[__A+15:__A])
FOR j := 0 to 7
	m := j*32
	dst[m+31:m] := b
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="const _Float16*" memwidth="16" varname="__A" etype="FP16"/>
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtneebf16_ps" tech="AVX_ALL">
		<return type="__m256" varname="dst" etype="FP32" />
		<description>Convert packed BF16 (16-bit) floating-point even-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEEBF162PS" form="ymm, m256" xed="VCVTNEEBF162PS_YMMf32_MEMbf16" />
		<operation>
FOR j := 0 to 7
	m := j*32
	dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+m+15:__A+m])
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="const __m256bh*" memwidth="256" varname="__A" etype="BF16"/>
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtneeph_ps" tech="AVX_ALL">
		<return type="__m256" varname="dst" etype="FP32" />
		<description>Convert packed half-precision (16-bit) floating-point even-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEEPH2PS" form="ymm, m256" xed="VCVTNEEPH2PS_YMMf32_MEMf16" />
		<operation>
FOR j := 0 to 7
	m := j*32
	dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+m+15:__A+m])
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="const __m256h*" memwidth="256" etype="FP16" varname="__A" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtneobf16_ps" tech="AVX_ALL">
		<return type="__m256" varname="dst" etype="FP32" />
		<description>Convert packed BF16 (16-bit) floating-point odd-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEOBF162PS" form="ymm, m256" xed="VCVTNEOBF162PS_YMMf32_MEMbf16" />
		<operation>
FOR j := 0 to 7
	m := j*32
	dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+m+31:__A+m+16])
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="const __m256bh*" memwidth="256" etype="BF16" varname="__A" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtneoph_ps" tech="AVX_ALL">
		<return type="__m256" varname="dst" etype="FP32" />
		<description>Convert packed half-precision (16-bit) floating-point odd-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEOPH2PS" form="ymm, m256" xed="VCVTNEOPH2PS_YMMf32_MEMf16" />
		<operation>
FOR j := 0 to 7
	m := j*32
	dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+m+31:__A+m+16])
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="const __m256h*" memwidth="256" etype="FP16" varname="__A" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtneps_avx_pbh" tech="AVX_ALL">
		<return type="__m128bh" varname="dst" etype="BF16" />
		<description>Convert packed single-precision (32-bit) floating-point elements in "__A" to packed BF16 (16-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEPS2BF16" form="xmm, ymm" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_YMMf32_AVX512" />
		<operation>
FOR j := 0 to 7
	dst.word[j] := Convert_FP32_To_BF16(__A.fp32[j])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="__m256" varname="__A" etype="FP32" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_bcstnebf16_ps" tech="AVX_ALL">
		<return type="__m128" varname="dst" etype="FP32" />
		<description>Convert scalar BF16 (16-bit) floating-point element stored at memory locations starting at location "__A" to a single-precision (32-bit) floating-point, broadcast it to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VBCSTNEBF162PS" form="xmm, m16" xed="VBCSTNEBF162PS_XMMf32_MEMbf16" />
		<operation>
b := Convert_BF16_To_FP32(MEM[__A+15:__A])
FOR j := 0 to 3
	m := j*32
	dst[m+31:m] := b
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="const __bf16*" varname="__A" memwidth="16" etype="BF16"/>
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_bcstnesh_ps" tech="AVX_ALL">
		<return type="__m128" varname="dst" etype="FP32" />
		<description>Convert scalar half-precision (16-bit) floating-point element stored at memory locations starting at location "__A" to a single-precision (32-bit) floating-point, broadcast it to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VBCSTNESH2PS" form="xmm, m16" xed="VBCSTNESH2PS_XMMf32_MEMf16" />
		<operation>
b := Convert_FP16_To_FP32(MEM[__A+15:__A])
FOR j := 0 to 3
	m := j*32
	dst[m+31:m] := b
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="const _Float16*" varname="__A" memwidth="16" etype="FP16"/>
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtneebf16_ps" tech="AVX_ALL">
		<return type="__m128" varname="dst" etype="FP32" />
		<description>Convert packed BF16 (16-bit) floating-point even-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEEBF162PS" form="xmm, m128" xed="VCVTNEEBF162PS_XMMf32_MEMbf16" />
		<operation>
FOR j := 0 to 3
	m := j*32
	dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+m+15:__A+m])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="const __m128bh*" memwidth="128" etype="BF16" varname="__A" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtneeph_ps" tech="AVX_ALL">
		<return type="__m128" varname="dst" etype="FP32" />
		<description>Convert packed half-precision (16-bit) floating-point even-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEEPH2PS" form="xmm, m128" xed="VCVTNEEPH2PS_XMMf32_MEMf16" />
		<operation>
FOR j := 0 to 3
	m := j*32
	dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+m+15:__A+m])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="const __m128h*" memwidth="128" etype="FP16" varname="__A" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtneobf16_ps" tech="AVX_ALL">
		<return type="__m128" varname="dst" etype="FP32" />
		<description>Convert packed BF16 (16-bit) floating-point odd-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEOBF162PS" form="xmm, m128" xed="VCVTNEOBF162PS_XMMf32_MEMbf16" />
		<operation>
FOR j := 0 to 3
	m := j*32
	dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+m+31:__A+m+16])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="const __m128bh*" memwidth="128" etype="BF16" varname="__A" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtneoph_ps" tech="AVX_ALL">
		<return type="__m128" varname="dst" etype="FP32" />
		<description>Convert packed half-precision (16-bit) floating-point odd-indexed elements stored at memory locations starting at location "__A" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEOPH2PS" form="xmm, m128" xed="VCVTNEOPH2PS_XMMf32_MEMf16" />
		<operation>
FOR j := 0 to 3
	m := j*32
	dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+m+31:__A+m+16])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="const __m128h*" memwidth="128" etype="FP16" varname="__A" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtneps_avx_pbh" tech="AVX_ALL">
		<return type="__m128bh" varname="dst" etype="BF16" />
		<description>Convert packed single-precision (32-bit) floating-point elements in "__A" to packed BF16 (16-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEPS2BF16" form="xmm, xmm" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_XMMf32_AVX512" />
		<operation>
FOR j := 0 to 3
	dst.word[j] := Convert_FP32_To_BF16(__A.fp32[j])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="__m128" varname="__A" etype="FP32" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtneps_pbh" tech="AVX_ALL">
		<return type="__m128bh" varname="dst" etype="BF16" />
		<description>Convert packed single-precision (32-bit) floating-point elements in "__A" to packed BF16 (16-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEPS2BF16" form="xmm, ymm" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_YMMf32_AVX512" />
		<operation>
FOR j := 0 to 7
	dst.word[j] := Convert_FP32_To_BF16(__A.fp32[j])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="__m256" varname="__A" etype="FP32" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtneps_pbh" tech="AVX_ALL">
		<return type="__m128bh" varname="dst" etype="BF16" />
		<description>Convert packed single-precision (32-bit) floating-point elements in "__A" to packed BF16 (16-bit) floating-point elements, and store the results in "dst".</description>
		<instruction name="VCVTNEPS2BF16" form="xmm, xmm" xed="VCVTNEPS2BF16_XMMbf16_MASKmskw_XMMf32_AVX512" />
		<operation>
FOR j := 0 to 3
	dst.word[j] := Convert_FP32_To_BF16(__A.fp32[j])
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="__m128" varname="__A" etype="FP32" />
	<CPUID>AVX_NE_CONVERT</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
<intrinsic name="_mm256_dpbusd_avx_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="UI8" />
		<parameter type="__m256i" varname="b" etype="SI8" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPBUSD" form="ymm, ymm, ymm" xed="VPDPBUSD_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbusds_avx_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="UI8" />
		<parameter type="__m256i" varname="b" etype="SI8" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPBUSDS" form="ymm, ymm, ymm" xed="VPDPBUSDS_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpwssd_avx_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="SI16" />
		<parameter type="__m256i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := src.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPWSSD" form="ymm, ymm, ymm" xed="VPDPWSSD_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpwssds_avx_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="SI16" />
		<parameter type="__m256i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPWSSDS" form="ymm, ymm, ymm" xed="VPDPWSSDS_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbusd_avx_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="SI16" />
		<parameter type="__m128i" varname="b" etype="SI16" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPBUSD" form="xmm, xmm, xmm" xed="VPDPBUSD_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbusds_avx_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="UI8" />
		<parameter type="__m128i" varname="b" etype="SI8" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPBUSDS" form="xmm, xmm, xmm" xed="VPDPBUSDS_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpwssd_avx_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="SI16" />
		<parameter type="__m128i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := src.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPWSSD" form="xmm, xmm, xmm" xed="VPDPWSSD_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpwssds_avx_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="SI16" />
		<parameter type="__m128i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPWSSDS" form="xmm, xmm, xmm" xed="VPDPWSSDS_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
<intrinsic name="_mm256_dpbusd_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="UI8" />
		<parameter type="__m256i" varname="b" etype="SI8" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPBUSD" form="ymm, ymm, ymm" xed="VPDPBUSD_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbusds_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="UI8" />
		<parameter type="__m256i" varname="b" etype="SI8" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPBUSDS" form="ymm, ymm, ymm" xed="VPDPBUSDS_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpwssd_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="SI16" />
		<parameter type="__m256i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := src.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPWSSD" form="ymm, ymm, ymm" xed="VPDPWSSD_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpwssds_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<parameter type="__m256i" varname="src" etype="SI32" />
		<parameter type="__m256i" varname="a" etype="SI16" />
		<parameter type="__m256i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:256] := 0
		</operation>
		<instruction name="VPDPWSSDS" form="ymm, ymm, ymm" xed="VPDPWSSDS_YMMi32_YMMu32_YMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbusd_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="SI16" />
		<parameter type="__m128i" varname="b" etype="SI16" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPBUSD" form="xmm, xmm, xmm" xed="VPDPBUSD_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbusds_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="UI8" />
		<parameter type="__m128i" varname="b" etype="SI8" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "a" with corresponding signed 8-bit integers in "b", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.word := Signed(ZeroExtend16(a.byte[4*j]) * SignExtend16(b.byte[4*j]))
	tmp2.word := Signed(ZeroExtend16(a.byte[4*j+1]) * SignExtend16(b.byte[4*j+1]))
	tmp3.word := Signed(ZeroExtend16(a.byte[4*j+2]) * SignExtend16(b.byte[4*j+2]))
	tmp4.word := Signed(ZeroExtend16(a.byte[4*j+3]) * SignExtend16(b.byte[4*j+3]))
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPBUSDS" form="xmm, xmm, xmm" xed="VPDPBUSDS_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpwssd_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="SI16" />
		<parameter type="__m128i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src", and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := src.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPWSSD" form="xmm, xmm, xmm" xed="VPDPWSSD_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpwssds_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<parameter type="__m128i" varname="src" etype="SI32" />
		<parameter type="__m128i" varname="a" etype="SI16" />
		<parameter type="__m128i" varname="b" etype="SI16" />
		<description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "a" with corresponding 16-bit integers in "b", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "src" using signed saturation, and store the packed 32-bit results in "dst".</description>
		<operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(a.word[2*j]) * SignExtend32(b.word[2*j])
	tmp2.dword := SignExtend32(a.word[2*j+1]) * SignExtend32(b.word[2*j+1])
	dst.dword[j] := Saturate32(src.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:128] := 0
		</operation>
		<instruction name="VPDPWSSDS" form="xmm, xmm, xmm" xed="VPDPWSSDS_XMMi32_XMMu32_XMMu32" />
	<CPUID>AVX_VNNI</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
<intrinsic name="_mm256_dpwsud_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWSUD" form="ymm, ymm, ymm" xed="VPDPWSUD_YMMi32_YMMu32_YMMu32" />
    <operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:256] := 0
</operation>
    <parameter type="__m256i" varname="__W" etype="SI32" />
    <parameter type="__m256i" varname="__A" etype="SI16" />
    <parameter type="__m256i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm256_dpwsuds_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWSUDS" form="ymm, ymm, ymm" xed="VPDPWSUDS_YMMi32_YMMu32_YMMu32" />
    <operation>
FOR j := 0 to 7
	tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:256] := 0			</operation>
    <parameter type="__m256i" varname="__W" etype="SI32" />
    <parameter type="__m256i" varname="__A" etype="SI16" />
    <parameter type="__m256i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm256_dpwusd_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding signed 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUSD" form="ymm, ymm, ymm" xed="VPDPWUSD_YMMi32_YMMu32_YMMu32" />
    <operation>
FOR j := 0 to 7
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:256] := 0
</operation>
    <parameter type="__m256i" varname="__W" etype="SI32" />
    <parameter type="__m256i" varname="__A" etype="UI16" />
    <parameter type="__m256i" varname="__B" etype="SI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm256_dpwusds_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding signed 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUSDS" form="ymm, ymm, ymm" xed="VPDPWUSDS_YMMi32_YMMu32_YMMu32" />
    <operation>
FOR j := 0 to 7
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:256] := 0			</operation>
    <parameter type="__m256i" varname="__W" etype="SI32" />
    <parameter type="__m256i" varname="__A" etype="UI16" />
    <parameter type="__m256i" varname="__B" etype="SI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm256_dpwuud_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUUD" form="ymm, ymm, ymm" xed="VPDPWUUD_YMMi32_YMMu32_YMMu32" />
    <operation>
FOR j := 0 to 7
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:256] := 0
</operation>
    <parameter type="__m256i" varname="__W" etype="UI32" />
    <parameter type="__m256i" varname="__A" etype="UI16" />
    <parameter type="__m256i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm256_dpwuuds_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUUDS" form="ymm, ymm, ymm" xed="VPDPWUUDS_YMMi32_YMMu32_YMMu32" />
    <operation>
FOR j := 0 to 7
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:256] := 0			</operation>
    <parameter type="__m256i" varname="__W" etype="UI32" />
    <parameter type="__m256i" varname="__A" etype="UI16" />
    <parameter type="__m256i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm_dpwsud_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWSUD" form="xmm, xmm, xmm" xed="VPDPWSUD_XMMi32_XMMu32_XMMu32" />
    <operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:128] := 0
</operation>
    <parameter type="__m128i" varname="__W" etype="SI32" />
    <parameter type="__m128i" varname="__A" etype="SI16" />
    <parameter type="__m128i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm_dpwsuds_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of signed 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWSUDS" form="xmm, xmm, xmm" xed="VPDPWSUDS_XMMi32_XMMu32_XMMu32" />
    <operation>
FOR j := 0 to 3
	tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:128] := 0			</operation>
    <parameter type="__m128i" varname="__W" etype="SI32" />
    <parameter type="__m128i" varname="__A" etype="SI16" />
    <parameter type="__m128i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm_dpwusd_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding signed 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUSD" form="xmm, xmm, xmm" xed="VPDPWUSD_XMMi32_XMMu32_XMMu32" />
    <operation>
FOR j := 0 to 3
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:128] := 0
</operation>
    <parameter type="__m128i" varname="__W" etype="SI32" />
    <parameter type="__m128i" varname="__A" etype="UI16" />
    <parameter type="__m128i" varname="__B" etype="SI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm_dpwusds_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding signed 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUSDS" form="xmm, xmm, xmm" xed="VPDPWUSDS_XMMi32_XMMu32_XMMu32" />
    <operation>
FOR j := 0 to 3
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:128] := 0			</operation>
    <parameter type="__m128i" varname="__W" etype="SI32" />
    <parameter type="__m128i" varname="__A" etype="UI16" />
    <parameter type="__m128i" varname="__B" etype="SI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm_dpwuud_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUUD" form="xmm, xmm, xmm" xed="VPDPWUUD_XMMi32_XMMu32_XMMu32" />
    <operation>
FOR j := 0 to 3
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2
ENDFOR
dst[MAX:128] := 0
</operation>
    <parameter type="__m128i" varname="__W" etype="UI32" />
    <parameter type="__m128i" varname="__A" etype="UI16" />
    <parameter type="__m128i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
  <intrinsic name="_mm_dpwuuds_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="SI32" />
    <description>Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in "__A" with corresponding unsigned 16-bit integers in "__B", producing 2 intermediate signed 32-bit results. Sum these 2 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
    <instruction name="VPDPWUUDS" form="xmm, xmm, xmm" xed="VPDPWUUDS_XMMi32_XMMu32_XMMu32" />
    <operation>
FOR j := 0 to 3
	tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
	tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
	dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
ENDFOR
dst[MAX:128] := 0			</operation>
    <parameter type="__m128i" varname="__W" etype="UI32" />
    <parameter type="__m128i" varname="__A" etype="UI16" />
    <parameter type="__m128i" varname="__B" etype="UI16" />
  <CPUID>AVX_VNNI_INT16</CPUID>
	<header>immintrin.h</header>
  <category>Arithmetic</category>
  </intrinsic>
<intrinsic name="_mm256_dpbssd_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding signed 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSSD" form="ymm, ymm, ymm" xed="VPDPBSSD_YMMi32_YMMu32_YMMu32" />
		<operation>
FOR j := 0 to 7
	tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
	tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
	tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
	tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="__m256i" varname="__W" etype="SI32" />
		<parameter type="__m256i" varname="__A" etype="SI8" />
		<parameter type="__m256i" varname="__B" etype="SI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbssds_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding signed 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSSDS" form="ymm, ymm, ymm" xed="VPDPBSSDS_YMMi32_YMMu32_YMMu32" />
		<operation>
FOR j := 0 to 7
	tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
	tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
	tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
	tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:256] := 0			</operation>
		<parameter type="__m256i" varname="__W" etype="SI32" />
		<parameter type="__m256i" varname="__A" etype="SI8" />
		<parameter type="__m256i" varname="__B" etype="SI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbsud_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSUD" form="ymm, ymm, ymm" xed="VPDPBSUD_YMMi32_YMMu32_YMMu32" />
		<operation>
FOR j := 0 to 7
	tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
	tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
	tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
	tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="__m256i" varname="__W" etype="SI32" />
		<parameter type="__m256i" varname="__A" etype="SI8" />
		<parameter type="__m256i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbsuds_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSUDS" form="ymm, ymm, ymm" xed="VPDPBSUDS_YMMi32_YMMu32_YMMu32" />
		<operation>
FOR j := 0 to 7
	tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
	tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
	tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
	tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:256] := 0			</operation>
		<parameter type="__m256i" varname="__W" etype="SI32" />
		<parameter type="__m256i" varname="__A" etype="SI8" />
		<parameter type="__m256i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbuud_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBUUD" form="ymm, ymm, ymm" xed="VPDPBUUD_YMMi32_YMMu32_YMMu32" />
		<operation>
FOR j := 0 to 7
	tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
	tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
	tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
	tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:256] := 0
</operation>
		<parameter type="__m256i" varname="__W" etype="SI32" />
		<parameter type="__m256i" varname="__A" etype="UI8" />
		<parameter type="__m256i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_dpbuuds_epi32" tech="AVX_ALL">
		<return type="__m256i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W" with unsigned saturation, and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBUUDS" form="ymm, ymm, ymm" xed="VPDPBUUDS_YMMi32_YMMu32_YMMu32" />
		<operation>
FOR j := 0 to 7
	tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
	tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
	tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
	tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
	dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:256] := 0			</operation>
		<parameter type="__m256i" varname="__W" etype="SI32" />
		<parameter type="__m256i" varname="__A" etype="UI8" />
		<parameter type="__m256i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbssd_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding signed 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSSD" form="xmm, xmm, xmm" xed="VPDPBSSD_XMMi32_XMMu32_XMMu32" />
		<operation>
FOR j := 0 to 3
	tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
	tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
	tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
	tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="__m128i" varname="__W" etype="SI32" />
		<parameter type="__m128i" varname="__A" etype="SI8" />
		<parameter type="__m128i" varname="__B" etype="SI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbssds_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding signed 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSSDS" form="xmm, xmm, xmm" xed="VPDPBSSDS_XMMi32_XMMu32_XMMu32" />
		<operation>
FOR j := 0 to 3
	tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
	tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
	tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
	tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:128] := 0			</operation>
		<parameter type="__m128i" varname="__W" etype="SI32" />
		<parameter type="__m128i" varname="__A" etype="SI8" />
		<parameter type="__m128i" varname="__B" etype="SI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbsud_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSUD" form="xmm, xmm, xmm" xed="VPDPBSUD_XMMi32_XMMu32_XMMu32" />
		<operation>
FOR j := 0 to 3
	tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
	tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
	tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
	tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="__m128i" varname="__W" etype="SI32" />
		<parameter type="__m128i" varname="__A" etype="SI8" />
		<parameter type="__m128i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbsuds_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of signed 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W" with signed saturation, and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBSUDS" form="xmm, xmm, xmm" xed="VPDPBSUDS_XMMi32_XMMu32_XMMu32" />
		<operation>
FOR j := 0 to 3
	tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
	tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
	tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
	tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
	dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:128] := 0			</operation>
		<parameter type="__m128i" varname="__W" etype="SI32" />
		<parameter type="__m128i" varname="__A" etype="SI8" />
		<parameter type="__m128i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbuud_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W", and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBUUD" form="xmm, xmm, xmm" xed="VPDPBUUD_XMMi32_XMMu32_XMMu32" />
		<operation>
FOR j := 0 to 3
	tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
	tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
	tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
	tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
	dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
ENDFOR
dst[MAX:128] := 0
</operation>
		<parameter type="__m128i" varname="__W" etype="SI32" />
		<parameter type="__m128i" varname="__A" etype="UI8" />
		<parameter type="__m128i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dpbuuds_epi32" tech="AVX_ALL">
		<return type="__m128i" varname="dst" etype="SI32" />
		<description>Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in "__A" with corresponding unsigned 8-bit integers in "__B", producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in "__W" with unsigned saturation, and store the packed 32-bit results in "dst".</description>
		<instruction name="VPDPBUUDS" form="xmm, xmm, xmm" xed="VPDPBUUDS_XMMi32_XMMu32_XMMu32" />
		<operation>
FOR j := 0 to 3
	tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
	tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
	tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
	tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
	dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
ENDFOR
dst[MAX:128] := 0			</operation>
		<parameter type="__m128i" varname="__W" etype="SI32" />
		<parameter type="__m128i" varname="__A" etype="UI8" />
		<parameter type="__m128i" varname="__B" etype="UI8" />
	<CPUID>AVX_VNNI_INT8</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
<intrinsic name="_bextr_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="start" />
	<parameter etype="UI32" type="unsigned int" varname="len" />
	<description>Extract contiguous bits from unsigned 32-bit integer "a", and store the result in "dst". Extract the number of bits specified by "len", starting at the bit specified by "start".</description>
	<operation>
tmp[511:0] := a
dst[31:0] := ZeroExtend32(tmp[(start[7:0] + len[7:0] - 1):start[7:0]])
	</operation>
	<instruction form="r32, r32, r32" name="BEXTR" xed="BEXTR_VGPR32d_VGPR32d_VGPR32d" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bextr2_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="control" />
	<description>Extract contiguous bits from unsigned 32-bit integer "a", and store the result in "dst". Extract the number of bits specified by bits 15:8 of "control", starting at the bit specified by bits 0:7 of "control".</description>
	<operation>
start := control[7:0]
len := control[15:8]
tmp[511:0] := a
dst[31:0] := ZeroExtend32(tmp[(start[7:0] + len[7:0] - 1):start[7:0]])
	</operation>
	<instruction form="r32, r32, r32" name="BEXTR" xed="BEXTR_VGPR32d_VGPR32d_VGPR32d" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bextr_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="start" />
	<parameter etype="UI32" type="unsigned int" varname="len" />
	<description>Extract contiguous bits from unsigned 64-bit integer "a", and store the result in "dst". Extract the number of bits specified by "len", starting at the bit specified by "start".</description>
	<operation>
tmp[511:0] := a
dst[63:0] := ZeroExtend64(tmp[(start[7:0] + len[7:0] - 1):start[7:0]])
	</operation>
	<instruction form="r64, r64, r64" name="BEXTR" xed="BEXTR_VGPR64q_VGPR64q_VGPR64q" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bextr2_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="control" />
	<description>Extract contiguous bits from unsigned 64-bit integer "a", and store the result in "dst". Extract the number of bits specified by bits 15:8 of "control", starting at the bit specified by bits 0:7 of "control"..</description>
	<operation>
start := control[7:0]
len := control[15:8]
tmp[511:0] := a
dst[63:0] := ZeroExtend64(tmp[(start[7:0] + len[7:0] - 1):start[7:0]])
	</operation>
	<instruction form="r64, r64, r64" name="BEXTR" xed="BEXTR_VGPR64q_VGPR64q_VGPR64q" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_blsi_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Extract the lowest set bit from unsigned 32-bit integer "a" and set the corresponding bit in "dst". All other bits in "dst" are zeroed, and all bits are zeroed if no bits are set in "a".</description>
	<operation>
dst := (-a) AND a
	</operation>
	<instruction form="r32, r32" name="BLSI" xed="BLSI_VGPR32d_VGPR32d" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_blsi_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Extract the lowest set bit from unsigned 64-bit integer "a" and set the corresponding bit in "dst". All other bits in "dst" are zeroed, and all bits are zeroed if no bits are set in "a".</description>
	<operation>
dst := (-a) AND a
	</operation>
	<instruction form="r64, r64" name="BLSI" xed="BLSI_VGPR64q_VGPR64q" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_blsmsk_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Set all the lower bits of "dst" up to and including the lowest set bit in unsigned 32-bit integer "a".</description>
	<operation>
dst := (a - 1) XOR a
	</operation>
	<instruction form="r32, r32" name="BLSMSK" xed="BLSMSK_VGPR32d_VGPR32d" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_blsmsk_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Set all the lower bits of "dst" up to and including the lowest set bit in unsigned 64-bit integer "a".</description>
	<operation>
dst := (a - 1) XOR a
	</operation>
	<instruction form="r64, r64" name="BLSMSK" xed="BLSMSK_VGPR64q_VGPR64q" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_blsr_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Copy all bits from unsigned 32-bit integer "a" to "dst", and reset (set to 0) the bit in "dst" that corresponds to the lowest set bit in "a".</description>
	<operation>
dst := (a - 1) AND a
	</operation>
	<instruction form="r32, r32" name="BLSR" xed="BLSR_VGPR32d_VGPR32d" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_blsr_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Copy all bits from unsigned 64-bit integer "a" to "dst", and reset (set to 0) the bit in "dst" that corresponds to the lowest set bit in "a".</description>
	<operation>
dst := (a - 1) AND a
	</operation>
	<instruction form="r64, r64" name="BLSR" xed="BLSR_VGPR64q_VGPR64q" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_andn_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<description>Compute the bitwise NOT of 32-bit integer "a" and then AND with b, and store the results in dst.</description>
	<operation>
dst[31:0] := ((NOT a[31:0]) AND b[31:0])
	</operation>
	<instruction form="r32, r32, r32" name="ANDN" xed="ANDN_VGPR32d_VGPR32d_VGPR32d" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_andn_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<description>Compute the bitwise NOT of 64-bit integer "a" and then AND with b, and store the results in dst.</description>
	<operation>
dst[63:0] := ((NOT a[63:0]) AND b[63:0])
	</operation>
	<instruction form="r64, r64, r64" name="ANDN" xed="ANDN_VGPR64q_VGPR64q_VGPR64q" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_tzcnt_u16" tech="Other">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="UI16" type="unsigned short" varname="a" />
	<description>Count the number of trailing zero bits in unsigned 16-bit integer "a", and return that count in "dst".</description>
	<operation>
tmp := 0
dst := 0
DO WHILE ((tmp &lt; 16) AND a[tmp] == 0)
	tmp := tmp + 1
	dst := dst + 1
OD
	</operation>
	<instruction form="r16, r16" name="TZCNT" xed="TZCNT_GPRv_GPRv" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_tzcnt_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Count the number of trailing zero bits in unsigned 32-bit integer "a", and return that count in "dst".</description>
	<operation>
tmp := 0
dst := 0
DO WHILE ((tmp &lt; 32) AND a[tmp] == 0)
	tmp := tmp + 1
	dst := dst + 1
OD
	</operation>
	<instruction form="r32, r32" name="TZCNT" xed="TZCNT_GPRv_GPRv" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_tzcnt_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Count the number of trailing zero bits in unsigned 64-bit integer "a", and return that count in "dst".</description>
	<operation>
tmp := 0
dst := 0
DO WHILE ((tmp &lt; 64) AND a[tmp] == 0)
	tmp := tmp + 1
	dst := dst + 1
OD
	</operation>
	<instruction form="r64, r64" name="TZCNT" xed="TZCNT_GPRv_GPRv" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_tzcnt_32" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Count the number of trailing zero bits in unsigned 32-bit integer "a", and return that count in "dst".</description>
	<operation>
tmp := 0
dst := 0
DO WHILE ((tmp &lt; 32) AND a[tmp] == 0)
	tmp := tmp + 1
	dst := dst + 1
OD
	</operation>
	<instruction form="r32, r32" name="TZCNT" xed="TZCNT_GPRv_GPRv" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_tzcnt_64" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Count the number of trailing zero bits in unsigned 64-bit integer "a", and return that count in "dst".</description>
	<operation>
tmp := 0
dst := 0
DO WHILE ((tmp &lt; 64) AND a[tmp] == 0)
	tmp := tmp + 1
	dst := dst + 1
OD
	</operation>
	<instruction form="r64, r64" name="TZCNT" xed="TZCNT_GPRv_GPRv" />
	<CPUID>BMI1</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
<intrinsic name="_bzhi_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="index" />
	<description>Copy all bits from unsigned 32-bit integer "a" to "dst", and reset (set to 0) the high bits in "dst" starting at "index".</description>
	<operation>
n := index[7:0]
dst := a
IF (n &lt; 32)
	dst[31:n] := 0
FI
	</operation>
	<instruction form="r32, r32, r32" name="BZHI" xed="BZHI_VGPR32d_VGPR32d_VGPR32d" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bzhi_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="index" />
	<description>Copy all bits from unsigned 64-bit integer "a" to "dst", and reset (set to 0) the high bits in "dst" starting at "index".</description>
	<operation>
n := index[7:0]
dst := a
IF (n &lt; 64)
	dst[63:n] := 0
FI
	</operation>
	<instruction form="r64, r64, r64" name="BZHI" xed="BZHI_VGPR64q_VGPR64q_VGPR64q" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_pdep_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="mask" />
	<description>Deposit contiguous low bits from unsigned 32-bit integer "a" to "dst" at the corresponding bit locations specified by "mask"; all other bits in "dst" are set to zero.</description>
	<operation>
tmp := a
dst := 0
m := 0
k := 0
DO WHILE m &lt; 32
	IF mask[m] == 1
		dst[m] := tmp[k]
		k := k + 1
	FI
	m := m + 1
OD
	</operation>
	<instruction form="r32, r32, r32" name="PDEP" xed="PDEP_VGPR32d_VGPR32d_VGPR32d" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_pdep_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="mask" />
	<description>Deposit contiguous low bits from unsigned 64-bit integer "a" to "dst" at the corresponding bit locations specified by "mask"; all other bits in "dst" are set to zero.</description>
	<operation>
tmp := a
dst := 0
m := 0
k := 0
DO WHILE m &lt; 64
	IF mask[m] == 1
		dst[m] := tmp[k]
		k := k + 1
	FI
	m := m + 1
OD
	</operation>
	<instruction form="r64, r64, r64" name="PDEP" xed="PDEP_VGPR64q_VGPR64q_VGPR64q" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_pext_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="mask" />
	<description>Extract bits from unsigned 32-bit integer "a" at the corresponding bit locations specified by "mask" to contiguous low bits in "dst"; the remaining upper bits in "dst" are set to zero.</description>
	<operation>
tmp := a
dst := 0
m := 0
k := 0
DO WHILE m &lt; 32
	IF mask[m] == 1
		dst[k] := tmp[m]
		k := k + 1
	FI
	m := m + 1
OD
	</operation>
	<instruction form="r32, r32, r32" name="PEXT" xed="PEXT_VGPR32d_VGPR32d_VGPR32d" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_pext_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="mask" />
	<description>Extract bits from unsigned 64-bit integer "a" at the corresponding bit locations specified by "mask" to contiguous low bits in "dst"; the remaining upper bits in "dst" are set to zero.</description>
	<operation>
tmp := a
dst := 0
m := 0
k := 0
DO WHILE m &lt; 64
	IF mask[m] == 1
		dst[k] := tmp[m]
		k := k + 1
	FI
	m := m + 1
OD
	</operation>
	<instruction form="r64, r64, r64" name="PEXT" xed="PEXT_VGPR64q_VGPR64q_VGPR64q" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mulx_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<parameter etype="UI32" memwidth="32" type="unsigned int*" varname="hi" />
	<description>Multiply unsigned 32-bit integers "a" and "b", store the low 32-bits of the result in "dst", and store the high 32-bits in "hi". This does not read or write arithmetic flags.</description>
	<operation>
dst[31:0] := (a * b)[31:0]
MEM[hi+31:hi] := (a * b)[63:32]
	</operation>
	<instruction form="r32, r32, m32" name="MULX" xed="MULX_VGPR32d_VGPR32d_MEMd" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mulx_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<parameter etype="UI64" memwidth="64" type="unsigned __int64*" varname="hi" />
	<description>Multiply unsigned 64-bit integers "a" and "b", store the low 64-bits of the result in "dst", and store the high 64-bits in "hi". This does not read or write arithmetic flags.</description>
	<operation>
dst[63:0] := (a * b)[63:0]
MEM[hi+63:hi]  := (a * b)[127:64]
	</operation>
	<instruction form="r64, r64, m64" name="MULX" xed="MULX_VGPR64q_VGPR64q_MEMq" />
	<CPUID>BMI2</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_incsspd" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Increment the shadow stack pointer by 4 times the value specified in bits [7:0] of "a".</description>
	<operation>
SSP := SSP + a[7:0] * 4
	</operation>
	<instruction form="r32" name="INCSSPD" xed="INCSSPD_GPR32u8" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_incsspq" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Increment the shadow stack pointer by 8 times the value specified in bits [7:0] of "a".</description>
	<operation>
SSP := SSP + a[7:0] * 8
	</operation>
	<instruction form="r64" name="INCSSPQ" xed="INCSSPQ_GPR64u8" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_rdsspd_i32" tech="Other">
	<return etype="UI32" type="__int32" varname="dst" />
	<parameter type="void" />
	<description>Read the low 32-bits of the current shadow stack pointer, and store the result in "dst".</description>
	<operation>dst := SSP[31:0]
	</operation>
	<instruction form="r32" name="RDSSPD" xed="RDSSPD_GPR32u32" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_rdsspq_i64" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter type="void" />
	<description>Read the current shadow stack pointer, and store the result in "dst".</description>
	<operation>dst := SSP[63:0]
	</operation>
	<instruction form="r64" name="RDSSPQ" xed="RDSSPQ_GPR64u64" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_saveprevssp" tech="Other">
	<return type="void" />
	<parameter type="void" />
	<description>Save the previous shadow stack pointer context.</description>
	<instruction name="SAVEPREVSSP" xed="SAVEPREVSSP" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_rstorssp" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="p" />
	<description>Restore the saved shadow stack pointer from the shadow stack restore token previously created on shadow stack by saveprevssp.</description>
	<instruction form="m64" name="RSTORSSP" xed="RSTORSSP_MEMu64" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_wrssd" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="__int32" varname="val" />
	<parameter type="void *" varname="p" />
	<description>Write 32-bit value in "val" to a shadow stack page in memory specified by "p".</description>
	<instruction form="m32, r32" name="WRSSD" xed="WRSSD_MEMu32_GPR32u32" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_wrssq" tech="Other">
	<return type="void" />
	<parameter etype="UI64" type="__int64" varname="val" />
	<parameter type="void *" varname="p" />
	<description>Write 64-bit value in "val" to a shadow stack page in memory specified by "p".</description>
	<instruction form="m64, r64" name="WRSSQ" xed="WRSSQ_MEMu64_GPR64u64" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_wrussd" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="__int32" varname="val" />
	<parameter type="void *" varname="p" />
	<description>Write 32-bit value in "val" to a user shadow stack page in memory specified by "p".</description>
	<instruction form="m32, r32" name="WRUSSD" xed="WRUSSD_MEMu32_GPR32u32" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_wrussq" tech="Other">
	<return type="void" />
	<parameter etype="UI64" type="__int64" varname="val" />
	<parameter type="void *" varname="p" />
	<description>Write 64-bit value in "val" to a user shadow stack page in memory specified by "p".</description>
	<instruction form="m64, r64" name="WRUSSQ" xed="WRUSSQ_MEMu64_GPR64u64" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_setssbsy" tech="Other">
	<return type="void" />
	<parameter type="void" />
	<description>Mark shadow stack pointed to by IA32_PL0_SSP as busy.</description>
	<instruction name="SETSSBSY" xed="SETSSBSY" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_clrssbsy" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="p" />
	<description>Mark shadow stack pointed to by "p" as not busy.</description>
	<instruction form="m64" name="CLRSSBSY" xed="CLRSSBSY_MEMu64" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_get_ssp" tech="Other">
	<return etype="UI32" type="__int32" varname="dst" />
	<parameter type="void" />
	<description>If CET is enabled, read the low 32-bits of the current shadow stack pointer, and store the result in "dst". Otherwise return 0.</description>
	<operation>dst := SSP[31:0]
	</operation>
	<instruction form="r32" name="RDSSPD" xed="RDSSPD_GPR32u32" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_get_ssp" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter type="void" />
	<description>If CET is enabled, read the current shadow stack pointer, and store the result in "dst". Otherwise return 0.</description>
	<operation>dst := SSP[63:0]
	</operation>
	<instruction form="r64" name="RDSSPQ" xed="RDSSPQ_GPR64u64" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_inc_ssp" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Increment the shadow stack pointer by 4 times the value specified in bits [7:0] of "a".</description>
	<operation>
SSP := SSP + a[7:0] * 4
	</operation>
	<instruction form="r32" name="INCSSPD" xed="INCSSPD_GPR32u8" />
	<CPUID>CET_SS</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
<intrinsic name="_mm_cldemote" tech="Other">
	<return type="void" />
	<parameter type="void const *" varname="p" />
	<description>Hint to hardware that the cache line that contains "p" should be demoted from the cache closest to the processor core to a level more distant from the processor core.</description>
	<instruction form="m8" name="CLDEMOTE" xed="CLDEMOTE_MEMu8" />
	<CPUID>CLDEMOTE</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
	
<intrinsic name="_mm_clflushopt" tech="Other">
	<return type="void" />
	<parameter type="void const *" varname="p" />
	<description>Invalidate and flush the cache line that contains "p" from all levels of the cache hierarchy.</description>
	<instruction form="m8" name="CLFLUSHOPT" xed="CLFLUSHOPT_MEMmprefetch" />
	<CPUID>CLFLUSHOPT</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_mm_clwb" tech="Other">
	<return type="void" />
	<parameter type="void const *" varname="p" />
	<description>Write back to memory the cache line that contains "p" from any level of the cache hierarchy in the cache coherence domain.</description>
	<instruction form="m8" name="CLWB" xed="CLWB_MEMmprefetch" />
	<CPUID>CLWB</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
	<intrinsic name="_cmpccxadd_epi32" tech="Other">
	<return etype="SI32" type="int" varname="dst" />
	<parameter etype="SI32" type="void*" memwidth="32" varname="__A" />
	<parameter etype="SI32" type="int" varname="__B" />
	<parameter etype="SI32" type="int" varname="__C" />
	<parameter etype="SI32" type="const int" varname="__D" />
	<description>Compares the value from the memory "__A" with the value of "__B". If the specified condition "__D" is met, then add the third operand "__C" to the "__A" and write it into "__A", else the value of "__A" is unchanged. The return value is the original value of "__A".</description>
	<operation>CASE (__D[3:0]) OF
0: OP := _CMPCCX_O
1: OP := _CMPCCX_NO
2: OP := _CMPCCX_B
3: OP := _CMPCCX_NB
4: OP := _CMPCCX_Z
5: OP := _CMPCCX_NZ
6: OP := _CMPCCX_BE
7: OP := _CMPCCX_NBE
8: OP := _CMPCCX_S
9: OP := _CMPCCX_NS
10: OP := _CMPCCX_P
11: OP := _CMPCCX_NP
12: OP := _CMPCCX_L
13: OP := _CMPCCX_NL
14: OP := _CMPCCX_LE
15: OP := _CMPCCX_NLE
ESAC
tmp1 := LOAD_LOCK(__A)
tmp2 := tmp1 + __C
IF (tmp1[31:0] OP __B[31:0])
	STORE_UNLOCK(__A, tmp2)
ELSE
	STORE_UNLOCK(__A, tmp1)
FI
dst[31:0] := tmp1[31:0]
	</operation>
	<instruction name="CMPOXADD" form ="m32, r32, r32" xed="CMPOXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNOXADD" form ="m32, r32, r32" xed="CMPNOXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPBXADD" form ="m32, r32, r32" xed="CMPBXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNBXADD" form ="m32, r32, r32" xed="CMPNBXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPZXADD" form ="m32, r32, r32" xed="CMPZXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNZXADD" form ="m32, r32, r32" xed="CMPNZXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPBEXADD" form ="m32, r32, r32" xed="CMPBEXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNBEXADD" form ="m32, r32, r32" xed="CMPNBEXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPSXADD" form ="m32, r32, r32" xed="CMPSXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNSXADD" form ="m32, r32, r32" xed="CMPNSXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPPXADD" form ="m32, r32, r32" xed="CMPPXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNPXADD" form ="m32, r32, r32" xed="CMPNPXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPLXADD" form ="m32, r32, r32" xed="CMPLXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNLXADD" form ="m32, r32, r32" xed="CMPNLXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPLEXADD" form ="m32, r32, r32" xed="CMPLEXADD_MEMu32_GPR32u32_GPR32u32" />
	<instruction name="CMPNLEXADD" form ="m32, r32, r32" xed="CMPNLEXADD_MEMu32_GPR32u32_GPR32u32" />
	<CPUID>CMPCCXADD</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_cmpccxadd_epi64" tech="Other">
	<return etype="SI64" type="__int64" varname="dst" />
	<parameter etype="SI64" type="void*" memwidth="32" varname="__A" />
	<parameter etype="SI64" type="__int64" varname="__B" />
	<parameter etype="SI64" type="__int64" varname="__C" />
	<parameter etype="SI32" type="const int" varname="__D" />
	<description>Compares the value from the memory "__A" with the value of "__B". If the specified condition "__D" is met, then add the third operand "__C" to the "__A" and write it into "__A", else the value of "__A" is unchanged. The return value is the original value of "__A".</description>
	<operation>CASE (__D[3:0]) OF
0: OP := _CMPCCX_O
1: OP := _CMPCCX_NO
2: OP := _CMPCCX_B
3: OP := _CMPCCX_NB
4: OP := _CMPCCX_Z
5: OP := _CMPCCX_NZ
6: OP := _CMPCCX_BE
7: OP := _CMPCCX_NBE
8: OP := _CMPCCX_S
9: OP := _CMPCCX_NS
10: OP := _CMPCCX_P
11: OP := _CMPCCX_NP
12: OP := _CMPCCX_L
13: OP := _CMPCCX_NL
14: OP := _CMPCCX_LE
15: OP := _CMPCCX_NLE
ESAC
tmp1 := LOAD_LOCK(__A)
tmp2 := tmp1 + __C
IF (tmp1[63:0] OP __B[63:0])
	STORE_UNLOCK(__A, tmp2)
ELSE
	STORE_UNLOCK(__A, tmp1)
FI
dst[63:0] := tmp1[63:0]
	</operation>
	<instruction name="CMPOXADD" form ="m64, r64, r64" xed="CMPOXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNOXADD" form ="m64, r64, r64" xed="CMPNOXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPBXADD" form ="m64, r64, r64" xed="CMPBXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNBXADD" form ="m64, r64, r64" xed="CMPNBXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPZXADD" form ="m64, r64, r64" xed="CMPZXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNZXADD" form ="m64, r64, r64" xed="CMPNZXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPBEXADD" form ="m64, r64, r64" xed="CMPBEXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNBEXADD" form ="m64, r64, r64" xed="CMPNBEXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPSXADD" form ="m64, r64, r64" xed="CMPSXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNSXADD" form ="m64, r64, r64" xed="CMPNSXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPPXADD" form ="m64, r64, r64" xed="CMPPXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNPXADD" form ="m64, r64, r64" xed="CMPNPXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPLXADD" form ="m64, r64, r64" xed="CMPLXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNLXADD" form ="m64, r64, r64" xed="CMPNLXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPLEXADD" form ="m64, r64, r64" xed="CMPLEXADD_MEMu64_GPR64u64_GPR64u64" />
	<instruction name="CMPNLEXADD" form ="m64, r64, r64" xed="CMPNLEXADD_MEMu64_GPR64u64_GPR64u64" />
	<CPUID>CMPCCXADD</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u8" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="crc" />
	<parameter etype="UI8" type="unsigned char" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 8-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[7:0] := v[0:7] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[39:0] := tmp1[7:0] &lt;&lt; 32 
tmp4[39:0] := tmp2[31:0] &lt;&lt; 8
tmp5[39:0] := tmp3[39:0] XOR tmp4[39:0]
tmp6[31:0] := MOD2(tmp5[39:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r32, r8" name="CRC32" xed="CRC32_GPRyy_GPR8b" />
	<CPUID>CRC32</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u16" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="crc" />
	<parameter etype="UI16" type="unsigned short" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 16-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[15:0] := v[0:15] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[47:0] := tmp1[15:0] &lt;&lt; 32
tmp4[47:0] := tmp2[31:0] &lt;&lt; 16
tmp5[47:0] := tmp3[47:0] XOR tmp4[47:0]
tmp6[31:0] := MOD2(tmp5[47:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r32, r16" name="CRC32" xed="CRC32_GPRyy_GPRv" />
	<CPUID>CRC32</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="crc" />
	<parameter etype="UI32" type="unsigned int" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 32-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[31:0] := v[0:31] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[63:0] := tmp1[31:0] &lt;&lt; 32
tmp4[63:0] := tmp2[31:0] &lt;&lt; 32
tmp5[63:0] := tmp3[63:0] XOR tmp4[63:0]
tmp6[31:0] := MOD2(tmp5[63:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r32, r32" name="CRC32" xed="CRC32_GPRyy_GPRv" />
	<CPUID>CRC32</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="crc" />
	<parameter etype="UI64" type="unsigned __int64" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 64-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[63:0] := v[0:63] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[95:0] := tmp1[31:0] &lt;&lt; 32
tmp4[95:0] := tmp2[63:0] &lt;&lt; 64
tmp5[95:0] := tmp3[95:0] XOR tmp4[95:0]
tmp6[31:0] := MOD2(tmp5[95:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r64, r64" name="CRC32" xed="CRC32_GPRyy_GPRv" />
	<CPUID>CRC32</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	
	
<intrinsic name="_enqcmd" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter type="void*" memwidth="512" varname="__dst" />
	<parameter type="const void*" memwidth="512" varname="__src" />
	<description>Reads 64-byte command pointed by "__src", formats 64-byte enqueue store data, and performs 64-byte enqueue store to memory pointed by "__dst". This intrinsics may only be used in User mode.</description>
	<instruction form="r16/r32/r64, m512" name="ENQCMD" xed="ENQCMD_GPRa_MEMu32" />
	<CPUID>ENQCMD</CPUID>
	<header>immintrin.h</header>
	<category>Unknown</category>
	</intrinsic>
	<intrinsic name="_enqcmds" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter type="void*" memwidth="512" varname="__dst" />
	<parameter type="const void*" memwidth="512" varname="__src" />
	<description>Reads 64-byte command pointed by "__src", formats 64-byte enqueue store data, and performs 64-byte enqueue store to memory pointed by "__dst" This intrinsic may only be used in Privileged mode.</description>
	<instruction form="r16/r32/r64, m512" name="ENQCMDS" xed="ENQCMDS_GPRa_MEMu32" />
	<CPUID>ENQCMD</CPUID>
	<header>immintrin.h</header>
	<category>Unknown</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_cvtph_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP16" type="__m128i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	m := j*16
	dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, xmm" name="VCVTPH2PS" xed="VCVTPH2PS_YMMqq_XMMdq" />
	<CPUID>F16C</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm256_cvtps_ph" tech="AVX_ALL">
	<return etype="FP16" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_imm_note]</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	l := 32*j
	dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, ymm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMdq_YMMqq_IMMb" />
	<CPUID>F16C</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtph_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP16" type="__m128i" varname="a" />
	<description>Convert packed half-precision (16-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	m := j*16
	dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="VCVTPH2PS" xed="VCVTPH2PS_XMMdq_XMMq" />
	<CPUID>F16C</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_ph" tech="AVX_ALL">
	<return etype="FP16" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_ROUND_MODE" type="int" varname="imm8" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed half-precision (16-bit) floating-point elements, and store the results in "dst".
	[round_imm_note]</description>
	<operation>
FOR j := 0 to 3
	i := 16*j
	l := 32*j
	dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
ENDFOR
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="VCVTPS2PH" xed="VCVTPS2PH_XMMq_XMMdq_IMMb" />
	<CPUID>F16C</CPUID>
	<header>immintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	
	
<intrinsic name="_mm_fmadd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADD132PD" xed="VFMADD132PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADD213PD" xed="VFMADD213PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADD231PD" xed="VFMADD231PD_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmadd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMADD132PD" xed="VFMADD132PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADD213PD" xed="VFMADD213PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADD231PD" xed="VFMADD231PD_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADD132PS" xed="VFMADD132PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADD213PS" xed="VFMADD213PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADD231PS" xed="VFMADD231PS_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmadd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMADD132PS" xed="VFMADD132PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADD213PS" xed="VFMADD213PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADD231PS" xed="VFMADD231PS_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_sd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] * b[63:0]) + c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADD132SD" xed="VFMADD132SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFMADD213SD" xed="VFMADD213SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFMADD231SD" xed="VFMADD231SD_XMMdq_XMMq_XMMq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmadd_ss" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := (a[31:0] * b[31:0]) + c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADD132SS" xed="VFMADD132SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFMADD213SS" xed="VFMADD213SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFMADD231SS" xed="VFMADD231SS_XMMdq_XMMd_XMMd" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmaddsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF ((j &amp; 1) == 0) 
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmaddsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF ((j &amp; 1) == 0) 
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB132PD" xed="VFMADDSUB132PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB213PD" xed="VFMADDSUB213PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB231PD" xed="VFMADDSUB231PD_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmaddsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF ((j &amp; 1) == 0) 
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmaddsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively add and subtract packed elements in "c" to/from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF ((j &amp; 1) == 0) 
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB132PS" xed="VFMADDSUB132PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB213PS" xed="VFMADDSUB213PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMADDSUB231PS" xed="VFMADDSUB231PS_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUB132PD" xed="VFMSUB132PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB213PD" xed="VFMSUB213PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB231PD" xed="VFMSUB231PD_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMSUB132PD" xed="VFMSUB132PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUB213PD" xed="VFMSUB213PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUB231PD" xed="VFMSUB231PD_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUB132PS" xed="VFMSUB132PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB213PS" xed="VFMSUB213PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB231PS" xed="VFMSUB231PS_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMSUB132PS" xed="VFMSUB132PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUB213PS" xed="VFMSUB213PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUB231PS" xed="VFMSUB231PS_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_sd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] * b[63:0]) - c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUB132SD" xed="VFMSUB132SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB213SD" xed="VFMSUB213SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB231SD" xed="VFMSUB231SD_XMMdq_XMMq_XMMq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsub_ss" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the intermediate result. Store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := (a[31:0] * b[31:0]) - c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUB132SS" xed="VFMSUB132SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB213SS" xed="VFMSUB213SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFMSUB231SS" xed="VFMSUB231SS_XMMdq_XMMd_XMMd" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsubadd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF ((j &amp; 1) == 0) 
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmsubadd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	IF ((j &amp; 1) == 0) 
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) + c[i+63:i]
	ELSE
		dst[i+63:i] := (a[i+63:i] * b[i+63:i]) - c[i+63:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD132PD" xed="VFMSUBADD132PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD213PD" xed="VFMSUBADD213PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD231PD" xed="VFMSUBADD231PD_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fmsubadd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF ((j &amp; 1) == 0) 
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fmsubadd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", alternatively subtract and add packed elements in "c" from/to the intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	IF ((j &amp; 1) == 0) 
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) + c[i+31:i]
	ELSE
		dst[i+31:i] := (a[i+31:i] * b[i+31:i]) - c[i+31:i]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD132PS" xed="VFMSUBADD132PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD213PS" xed="VFMSUBADD213PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFMSUBADD231PS" xed="VFMSUBADD231PS_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMADD132PD" xed="VFNMADD132PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD213PD" xed="VFNMADD213PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD231PD" xed="VFNMADD231PD_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fnmadd_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) + c[i+63:i]
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFNMADD132PD" xed="VFNMADD132PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMADD213PD" xed="VFNMADD213PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMADD231PD" xed="VFNMADD231PD_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMADD132PS" xed="VFNMADD132PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD213PS" xed="VFNMADD213PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD231PS" xed="VFNMADD231PS_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fnmadd_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", add the negated intermediate result to packed elements in "c", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) + c[i+31:i]
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFNMADD132PS" xed="VFNMADD132PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMADD213PS" xed="VFNMADD213PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMADD231PS" xed="VFNMADD231PS_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_sd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := -(a[63:0] * b[63:0]) + c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMADD132SD" xed="VFNMADD132SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD213SD" xed="VFNMADD213SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD231SD" xed="VFNMADD231SD_XMMdq_XMMq_XMMq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmadd_ss" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := -(a[31:0] * b[31:0]) + c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMADD132SS" xed="VFNMADD132SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD213SS" xed="VFNMADD213SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFNMADD231SS" xed="VFNMADD231SS_XMMdq_XMMd_XMMd" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMSUB132PD" xed="VFNMSUB132PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB213PD" xed="VFNMSUB213PD_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB231PD" xed="VFNMSUB231PD_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fnmsub_pd" tech="AVX_ALL">
	<return etype="FP64" type="__m256d" varname="dst" />
	<parameter etype="FP64" type="__m256d" varname="a" />
	<parameter etype="FP64" type="__m256d" varname="b" />
	<parameter etype="FP64" type="__m256d" varname="c" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*64
	dst[i+63:i] := -(a[i+63:i] * b[i+63:i]) - c[i+63:i]
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFNMSUB132PD" xed="VFNMSUB132PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMSUB213PD" xed="VFNMSUB213PD_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMSUB231PD" xed="VFNMSUB231PD_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR	
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMSUB132PS" xed="VFNMSUB132PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB213PS" xed="VFNMSUB213PS_XMMdq_XMMdq_XMMdq" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB231PS" xed="VFNMSUB231PS_XMMdq_XMMdq_XMMdq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_fnmsub_ps" tech="AVX_ALL">
	<return etype="FP32" type="__m256" varname="dst" />
	<parameter etype="FP32" type="__m256" varname="a" />
	<parameter etype="FP32" type="__m256" varname="b" />
	<parameter etype="FP32" type="__m256" varname="c" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", subtract packed elements in "c" from the negated intermediate result, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*32
	dst[i+31:i] := -(a[i+31:i] * b[i+31:i]) - c[i+31:i]
ENDFOR	
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VFNMSUB132PS" xed="VFNMSUB132PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMSUB213PS" xed="VFNMSUB213PS_YMMqq_YMMqq_YMMqq" />
	<instruction form="ymm, ymm, ymm" name="VFNMSUB231PS" xed="VFNMSUB231PS_YMMqq_YMMqq_YMMqq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_sd" tech="AVX_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="c" />
	<description>Multiply the lower double-precision (64-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := -(a[63:0] * b[63:0]) - c[63:0]
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMSUB132SD" xed="VFNMSUB132SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB213SD" xed="VFNMSUB213SD_XMMdq_XMMq_XMMq" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB231SD" xed="VFNMSUB231SD_XMMdq_XMMq_XMMq" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_fnmsub_ss" tech="AVX_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="c" />
	<description>Multiply the lower single-precision (32-bit) floating-point elements in "a" and "b", and subtract the lower element in "c" from the negated intermediate result. Store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := -(a[31:0] * b[31:0]) - c[31:0]
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VFNMSUB132SS" xed="VFNMSUB132SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB213SS" xed="VFNMSUB213SS_XMMdq_XMMd_XMMd" />
	<instruction form="xmm, xmm, xmm" name="VFNMSUB231SS" xed="VFNMSUB231SS_XMMdq_XMMd_XMMd" />
	<CPUID>FMA</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_readfsbase_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<description>Read the FS segment base register and store the 32-bit result in "dst".</description>
	<operation>dst[31:0] := FS_Segment_Base_Register
dst[63:32] := 0
	</operation>
	<instruction form="r32" name="RDFSBASE" xed="RDFSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_readfsbase_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<description>Read the FS segment base register and store the 64-bit result in "dst".</description>
	<operation>dst[63:0] := FS_Segment_Base_Register
	</operation>
	<instruction form="r64" name="RDFSBASE" xed="RDFSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_readgsbase_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<description>Read the GS segment base register and store the 32-bit result in "dst".</description>
	<operation>dst[31:0] := GS_Segment_Base_Register
dst[63:32] := 0
	</operation>
	<instruction form="r32" name="RDGSBASE" xed="RDGSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_readgsbase_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<description>Read the GS segment base register and store the 64-bit result in "dst".</description>
	<operation>dst[63:0] := GS_Segment_Base_Register
	</operation>
	<instruction form="r64" name="RDGSBASE" xed="RDGSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_writefsbase_u32" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Write the unsigned 32-bit integer "a" to the FS segment base register.</description>
	<operation>
FS_Segment_Base_Register[31:0] := a[31:0]
FS_Segment_Base_Register[63:32] := 0
	</operation>
	<instruction form="r32" name="WRFSBASE" xed="WRFSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_writefsbase_u64" tech="Other">
	<return type="void" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Write the unsigned 64-bit integer "a" to the FS segment base register.</description>
	<operation>
FS_Segment_Base_Register[63:0] := a[63:0]
	</operation>
	<instruction form="r64" name="WRFSBASE" xed="WRFSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_writegsbase_u32" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Write the unsigned 32-bit integer "a" to the GS segment base register.</description>
	<operation>
GS_Segment_Base_Register[31:0] := a[31:0]
GS_Segment_Base_Register[63:32] := 0
	</operation>
	<instruction form="r32" name="WRGSBASE" xed="WRGSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_writegsbase_u64" tech="Other">
	<return type="void" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Write the unsigned 64-bit integer "a" to the GS segment base register.</description>
	<operation>
GS_Segment_Base_Register[63:0] := a[63:0]
	</operation>
	<instruction form="r64" name="WRGSBASE" xed="WRGSBASE_GPRy" />
	<CPUID>FSGSBASE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_fxrstor" tech="Other">
	<return type="void" />
	<parameter memwidth="4096" type="void *" varname="mem_addr" />
	<description>Reload the x87 FPU, MMX technology, XMM, and MXCSR registers from the 512-byte memory image at "mem_addr". This data should have been written to memory previously using the FXSAVE instruction, and in the same format as required by the operating mode. "mem_addr" must be aligned on a 16-byte boundary.</description>
	<operation>state_x87_fpu_mmx_sse := fxrstor(MEM[mem_addr+512*8:mem_addr])
	</operation>
	<instruction form="m512" name="FXRSTOR" xed="FXRSTOR_MEMmfpxenv" />
	<CPUID>FXSR</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_fxrstor64" tech="Other">
	<return type="void" />
	<parameter memwidth="4096" type="void *" varname="mem_addr" />
	<description>Reload the x87 FPU, MMX technology, XMM, and MXCSR registers from the 512-byte memory image at "mem_addr". This data should have been written to memory previously using the FXSAVE64 instruction, and in the same format as required by the operating mode. "mem_addr" must be aligned on a 16-byte boundary.</description>
	<operation>state_x87_fpu_mmx_sse := fxrstor64(MEM[mem_addr+512*8:mem_addr])
	</operation>
	<instruction form="m512" name="FXRSTOR64" xed="FXRSTOR64_MEMmfpxenv" />
	<CPUID>FXSR</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_fxsave" tech="Other">
	<return type="void" />
	<parameter memwidth="4096" type="void *" varname="mem_addr" />
	<description>Save the current state of the x87 FPU, MMX technology, XMM, and MXCSR registers to a 512-byte memory location at "mem_addr". The layout of the 512-byte region depends on the operating mode. Bytes [511:464] are available for software use and will not be overwritten by the processor.</description>
	<operation>MEM[mem_addr+512*8:mem_addr] := fxsave(state_x87_fpu_mmx_sse)
	</operation>
	<instruction form="m512" name="FXSAVE" xed="FXSAVE_MEMmfpxenv" />
	<CPUID>FXSR</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_fxsave64" tech="Other">
	<return type="void" />
	<parameter memwidth="4096" type="void *" varname="mem_addr" />
	<description>Save the current state of the x87 FPU, MMX technology, XMM, and MXCSR registers to a 512-byte memory location at "mem_addr". The layout of the 512-byte region depends on the operating mode. Bytes [511:464] are available for software use and will not be overwritten by the processor.</description>
	<operation>MEM[mem_addr+512*8:mem_addr] := fxsave64(state_x87_fpu_mmx_sse)
	</operation>
	<instruction form="m512" name="FXSAVE64" xed="FXSAVE64_MEMmfpxenv" />
	<CPUID>FXSR</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_maskz_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 63
	IF k[j]
		dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
	ELSE
		dst.byte[j] := 0
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm" name="VGF2P8MULB" xed="VGF2P8MULB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst" using writemask "k" (elements are copied from "src"" when the corresponding mask bit is not set). The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 63
	IF k[j]
		dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
	ELSE
		dst.byte[j] := src.byte[j]
	FI
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm" name="VGF2P8MULB" xed="VGF2P8MULB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m512i" varname="dst" />
	<parameter etype="UI8" type="__m512i" varname="a" />
	<parameter etype="UI8" type="__m512i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst". The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 63
	dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm" name="VGF2P8MULB" xed="VGF2P8MULB_ZMMu8_MASKmskw_ZMMu8_ZMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="x" />
	<parameter etype="UI64" type="__m512i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 7
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="x" />
	<parameter etype="UI64" type="__m512i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 7
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := src.qword[j].byte[i]
		FI
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="x" />
	<parameter etype="UI64" type="__m512i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst".</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 7
	FOR i := 0 to 7
		dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_maskz_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="x" />
	<parameter etype="UI64" type="__m512i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 7
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {z}, zmm, zmm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_mask_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="src" />
	<parameter etype="MASK" type="__mmask64" varname="k" />
	<parameter etype="UI64" type="__m512i" varname="x" />
	<parameter etype="UI64" type="__m512i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 7
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := src.qword[j].byte[b]
		FI
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm {k}, zmm, zmm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm512_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m512i" varname="dst" />
	<parameter etype="UI64" type="__m512i" varname="x" />
	<parameter etype="UI64" type="__m512i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst".</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 7
	FOR i := 0 to 7
		dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
	ENDFOR
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_ZMMu8_MASKmskw_ZMMu8_ZMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512F</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_maskz_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 31
	IF k[j]
		dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
	ELSE
		dst.byte[j] := 0
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm" name="VGF2P8MULB" xed="VGF2P8MULB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst" using writemask "k" (elements are copied from "src"" when the corresponding mask bit is not set). The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 31
	IF k[j]
		dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
	ELSE
		dst.byte[j] := src.byte[j]
	FI
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm" name="VGF2P8MULB" xed="VGF2P8MULB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m256i" varname="dst" />
	<parameter etype="UI8" type="__m256i" varname="a" />
	<parameter etype="UI8" type="__m256i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst". The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 31
	dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm" name="VGF2P8MULB" xed="VGF2P8MULB_YMMu8_MASKmskw_YMMu8_YMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set). The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 15
	IF k[j]
		dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
	ELSE
		dst.byte[j] := 0
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm" name="VGF2P8MULB" xed="VGF2P8MULB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst" using writemask "k" (elements are copied from "src"" when the corresponding mask bit is not set). The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 15
	IF k[j]
		dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
	ELSE
		dst.byte[j] := src.byte[j]
	FI
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm" name="VGF2P8MULB" xed="VGF2P8MULB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_gf2p8mul_epi8" tech="Other">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Multiply the packed 8-bit integers in "a" and "b" in the finite field GF(2^8), and store the results in "dst". The field GF(2^8) is represented in polynomial representation with the reduction polynomial x^8 + x^4 + x^3 + x + 1.</description>
	<operation>
DEFINE gf2p8mul_byte(src1byte, src2byte) {
	tword := 0
	FOR i := 0 to 7
		IF src2byte.bit[i]
			tword := tword XOR (src1byte &lt;&lt; i)
		FI
	ENDFOR
	FOR i := 14 downto 8
		p := 0x11B &lt;&lt; (i-8)
		IF tword.bit[i]
			tword := tword XOR p
		FI
	ENDFOR
	RETURN tword.byte[0]
}
FOR j := 0 TO 15
	dst.byte[j] := gf2p8mul_byte(a.byte[j], b.byte[j])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm" name="VGF2P8MULB" xed="VGF2P8MULB_XMMu8_MASKmskw_XMMu8_XMMu8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="x" />
	<parameter etype="UI64" type="__m256i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 3
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_YMMu8_MASKmskw_YMMu8_YMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="x" />
	<parameter etype="UI64" type="__m256i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 3
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := src.qword[j].byte[i]
		FI
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_YMMu8_MASKmskw_YMMu8_YMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="x" />
	<parameter etype="UI64" type="__m256i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst".</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 3
	FOR i := 0 to 7
		dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_YMMu8_MASKmskw_YMMu8_YMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="x" />
	<parameter etype="UI64" type="__m128i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 1
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_XMMu8_MASKmskw_XMMu8_XMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="x" />
	<parameter etype="UI64" type="__m128i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 1
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := src.qword[j].byte[i]
		FI
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_XMMu8_MASKmskw_XMMu8_XMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_gf2p8affine_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="x" />
	<parameter etype="UI64" type="__m128i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. Store the packed 8-bit results in "dst".</description>
	<operation>
DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND src1byte) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 1
	FOR i := 0 to 7
		dst.qword[j].byte[i] := affine_byte(A.qword[j], x.qword[j].byte[i], b)
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VGF2P8AFFINEQB" xed="VGF2P8AFFINEQB_XMMu8_MASKmskw_XMMu8_XMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_maskz_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="x" />
	<parameter etype="UI64" type="__m256i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 3
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {z}, ymm, ymm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_YMMu8_MASKmskw_YMMu8_YMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_mask_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="src" />
	<parameter etype="MASK" type="__mmask32" varname="k" />
	<parameter etype="UI64" type="__m256i" varname="x" />
	<parameter etype="UI64" type="__m256i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 3
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := src.qword[j].byte[i]
		FI
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm {k}, ymm, ymm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_YMMu8_MASKmskw_YMMu8_YMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm256_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m256i" varname="dst" />
	<parameter etype="UI64" type="__m256i" varname="x" />
	<parameter etype="UI64" type="__m256i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst".</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 3
	FOR i := 0 to 7
		dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
	ENDFOR
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_YMMu8_MASKmskw_YMMu8_YMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maskz_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="x" />
	<parameter etype="UI64" type="__m128i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 1
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {z}, xmm, xmm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_XMMu8_MASKmskw_XMMu8_XMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mask_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="src" />
	<parameter etype="MASK" type="__mmask16" varname="k" />
	<parameter etype="UI64" type="__m128i" varname="x" />
	<parameter etype="UI64" type="__m128i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 1
	FOR i := 0 to 7
		IF k[j*8+i]
			dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
		ELSE
			dst.qword[j].byte[i] := src.qword[j].byte[i]
		FI
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm {k}, xmm, xmm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_XMMu8_MASKmskw_XMMu8_XMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_gf2p8affineinv_epi64_epi8" tech="Other">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="x" />
	<parameter etype="UI64" type="__m128i" varname="A" />
	<parameter etype="IMM" immwidth="8" type="int" varname="b" />
	<description>Compute an inverse affine transformation in the Galois Field 2^8. An affine transformation is defined by "A" * "x" + "b", where "A" represents an 8 by 8 bit matrix, "x" represents an 8-bit vector, and "b" is a constant immediate byte. The inverse of the 8-bit values in "x" is defined with respect to the reduction polynomial x^8 + x^4 + x^3 + x + 1. Store the packed 8-bit results in "dst".</description>
	<operation>DEFINE parity(x) {
	t := 0
	FOR i := 0 to 7
		t := t XOR x.bit[i]
	ENDFOR
	RETURN t
}
DEFINE affine_inverse_byte(tsrc2qw, src1byte, imm8) {
	FOR i := 0 to 7
		retbyte.bit[i] := parity(tsrc2qw.byte[7-i] AND inverse(src1byte)) XOR imm8.bit[i]
	ENDFOR
	RETURN retbyte
}
FOR j := 0 TO 1
	FOR i := 0 to 7
		dst.qword[j].byte[i] := affine_inverse_byte(A.qword[j], x.qword[j].byte[i], b)
	ENDFOR
ENDFOR
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm, xmm, imm8" name="VGF2P8AFFINEINVQB" xed="VGF2P8AFFINEINVQB_XMMu8_MASKmskw_XMMu8_XMMu64_IMM8_AVX512" />
	<CPUID>GFNI</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_hreset" tech="Other">
	<return type="void" />
	<parameter type="int" varname="__eax" etype="SI32" />
	<description>Provides a hint to the processor to selectively reset the prediction history of the current logical processor specified by a signed 32-bit integer "__eax".</description>
	<instruction name="HRESET" form="imm8" xed="HRESET_IMM8" />
	<CPUID>HRESET</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
<intrinsic name="_invpcid" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="type" />
	<parameter memwidth="128" type="void*" varname="descriptor" />
	<description>Invalidate mappings in the Translation Lookaside Buffers (TLBs) and paging-structure caches for the processor context identifier (PCID) specified by "descriptor" based on the invalidation type specified in "type". 
	The PCID "descriptor" is specified as a 16-byte memory operand (with no alignment restrictions) where bits [11:0] specify the PCID, and bits [127:64] specify the linear address; bits [63:12] are reserved.
	The types supported are:
		0) Individual-address invalidation: If "type" is 0, the logical processor invalidates mappings for a single linear address and tagged with the PCID specified in "descriptor", except global translations. The instruction may also invalidate global translations, mappings for other linear addresses, or mappings tagged with other PCIDs.
		1) Single-context invalidation: If "type" is 1, the logical processor invalidates all mappings tagged with the PCID specified in "descriptor" except global translations. In some cases, it may invalidate mappings for other PCIDs as well.
		2) All-context invalidation: If "type" is 2, the logical processor invalidates all mappings tagged with any PCID.
		3) All-context invalidation, retaining global translations: If "type" is 3, the logical processor invalidates all mappings tagged with any PCID except global translations, ignoring "descriptor". The instruction may also invalidate global translations as well.</description>
	<operation>
CASE type[1:0] OF
0: // individual-address invalidation retaining global translations
	OP_PCID := MEM[descriptor+11:descriptor]
	ADDR := MEM[descriptor+127:descriptor+64]
	BREAK
1: // single PCID invalidation retaining globals
	OP_PCID := MEM[descriptor+11:descriptor]
	// invalidate all mappings tagged with OP_PCID except global translations
	BREAK
2: // all PCID invalidation
	// invalidate all mappings tagged with any PCID
	BREAK
3: // all PCID invalidation retaining global translations
	// invalidate all mappings tagged with any PCID except global translations
	BREAK
ESAC
	</operation>
	<instruction form="r32, m128" name="INVPCID" xed="INVPCID_GPR32_MEMdq" />
	<CPUID>INVPCID</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_mm_aesdec128kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="128" />
		<parameter type="__m128i" varname="__idata" etype="UI8" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="384" />
		<description>Decrypt 10 rounds of unsigned 8-bit integers in "__idata" using 128-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status. If exception happens, set ZF flag to 1 and zero initialize "__odata".</description>
		<operation>MEM[__odata+127:__odata] := AES128Decrypt (__idata[127:0], __h[383:0])
dst := ZF
		</operation>
		<instruction name="AESDEC128KL" form="xmm, m32" xed="AESDEC128KL_XMMu8_MEMu8" />
	<CPUID>KEYLOCKER</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesdec256kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="128" />
		<parameter type="__m128i" varname="__idata" etype="UI8" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="512" />
		<description>Decrypt 10 rounds of unsigned 8-bit integers in "__idata" using 256-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status. If exception happens, set ZF flag to 1 and zero initialize "__odata".</description>
		<operation>MEM[__odata+127:__odata] := AES256Decrypt (__idata[127:0], __h[511:0])
dst := ZF
		</operation>
		<instruction name="AESDEC256KL" form="xmm, m32" xed="AESDEC256KL_XMMu8_MEMu8" />
	<CPUID>KEYLOCKER</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesenc128kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="128" />
		<parameter type="__m128i" varname="__idata" etype="UI8" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="384" />
		<description>Encrypt 10 rounds of unsigned 8-bit integers in "__idata" using 128-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status.</description>
		<operation>MEM[__odata+127:__odata] := AES128Encrypt (__idata[127:0], __h[383:0])
dst := ZF
		</operation>
		<instruction name="AESENC128KL" form="xmm, m32" xed="AESENC128KL_XMMu8_MEMu8" />
	<CPUID>KEYLOCKER</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesenc256kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="128" />
		<parameter type="__m128i" varname="__idata" etype="UI8" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="512" />
		<description>Encrypt 10 rounds of unsigned 8-bit integers in "__idata" using 256-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status. If exception happens, set ZF flag to 1 and zero initialize "__odata".</description>
		<operation>MEM[__odata+127:__odata] := AES256Encrypt (__idata[127:0], __h[511:0])
dst := ZF
		</operation>
		<instruction name="AESENC256KL" form="xmm, m32" xed="AESENC256KL_XMMu8_MEMu8" />
	<CPUID>KEYLOCKER</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_encodekey128_u32" tech="Other">
		<type>Flag</type>
		<return type="unsigned int" varname="dst" etype="UI32" />
		<parameter type="unsigned int" varname="__htype" etype="UI32" />
		<parameter type="__m128i" varname="__key" etype="UI8" />
		<parameter type="void*" varname="__h" etype="UI8" memwidth="768" />
		<description>Wrap a 128-bit AES key from "__key" into a 384-bit key __h stored in "__h" and set IWKey's NoBackup and KeySource bits in "dst". The explicit source operand "__htype" specifies __h restrictions.</description>
		<operation>__h[383:0] := WrapKey128(__key[127:0], __htype)
dst[0] := IWKey.NoBackup
dst[4:1] := IWKey.KeySource[3:0]
		</operation>
		<instruction name="ENCODEKEY128" form="r32, r32" xed="ENCODEKEY128_GPR32u8_GPR32u8" />
	<CPUID>KEYLOCKER</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_encodekey256_u32" tech="Other">
		<type>Flag</type>
		<return type="unsigned int" varname="dst" etype="UI32" />
		<parameter type="unsigned int" varname="__htype" etype="UI32" />
		<parameter type="__m128i" varname="__key_lo" etype="UI8" />
		<parameter type="__m128i" varname="__key_hi" etype="UI8" />
		<parameter type="void*" varname="__h" etype="UI8" memwidth="896" />
		<description>Wrap a 256-bit AES key from "__key_hi" and "__key_lo" into a 512-bit key stored in "__h" and set IWKey's NoBackup and KeySource bits in "dst". The 32-bit "__htype" specifies __h restrictions.</description>
		<operation>__h[511:0] := WrapKey256(__key_lo[127:0], __key_hi[127:0], __htype)
dst[0] := IWKey.NoBackup
dst[4:1] := IWKey.KeySource[3:0]
		</operation>
		<instruction name="ENCODEKEY256" form="r32, r32" xed="ENCODEKEY256_GPR32u8_GPR32u8" />
	<CPUID>KEYLOCKER</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_loadiwkey" tech="Other">
		<type>Flag</type>
		<return type="void" />
		<parameter type="unsigned int" varname="__ctl" etype="UI32" />
		<parameter type="__m128i" varname="__intkey" etype="UI8" />
		<parameter type="__m128i" varname="__enkey_lo" etype="UI8" />
		<parameter type="__m128i" varname="__enkey_hi" etype="UI8" />
		<description>Load internal wrapping key (IWKey). The 32-bit unsigned integer "__ctl" specifies IWKey's KeySource and whether backing up the key is permitted. IWKey's 256-bit encryption key is loaded from "__enkey_lo" and "__enkey_hi". IWKey's 128-bit integrity key is loaded from "__intkey".</description>
		<instruction name="LOADIWKEY" form="xmm, xmm" xed="LOADIWKEY_XMMu8_XMMu8" />
	<CPUID>KEYLOCKER</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
<intrinsic name="_mm_aesdecwide128kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="1024" />
		<parameter type="const __m128i*" varname="__idata" etype="UI8" memwidth="1024" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="384" />
		<description>Decrypt 10 rounds of 8 groups of unsigned 8-bit integers in "__idata" using 128-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status. If exception happens, set ZF flag to 1 and zero initialize "__odata".</description>
		<operation>FOR i := 0 to 7
	__odata[i] := AES128Decrypt (__idata[i], __h[383:0])
ENDFOR
dst := ZF
		</operation>
		<instruction name="AESDECWIDE128KL" form="m32" xed="AESDECWIDE128KL_MEMu8" />
	<CPUID>KEYLOCKER_WIDE</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesdecwide256kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="1024" />
		<parameter type="const __m128i*" varname="__idata" etype="UI8" memwidth="1024" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="512" />
		<description>Decrypt 10 rounds of 8 groups of unsigned 8-bit integers in "__idata" using 256-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status. If exception happens, set ZF flag to 1 and zero initialize "__odata".</description>
		<operation>FOR i := 0 to 7
	__odata[i] := AES256Decrypt (__idata[i], __h[511:0])
ENDFOR
dst := ZF
		</operation>
		<instruction name="AESDECWIDE256KL" form="m32" xed="AESDECWIDE256KL_MEMu8" />
	<CPUID>KEYLOCKER_WIDE</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesencwide128kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="1024" />
		<parameter type="const __m128i*" varname="__idata" etype="UI8" memwidth="1024" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="384" />
		<description>Encrypt 10 rounds of 8 groups of unsigned 8-bit integers in "__idata" using 128-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status. If exception happens, set ZF flag to 1 and zero initialize "__odata".</description>
		<operation>FOR i := 0 to 7
	__odata[i] := AES128Encrypt (__idata[i], __h[383:0])
ENDFOR
dst := ZF
		</operation>
		<instruction name="AESENCWIDE128KL" form="m32" xed="AESENCWIDE128KL_MEMu8" />
	<CPUID>KEYLOCKER_WIDE</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_aesencwide256kl_u8" tech="Other">
		<type>Flag</type>
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="__m128i*" varname="__odata" etype="UI8" memwidth="1024" />
		<parameter type="const __m128i*" varname="__idata" etype="UI8" memwidth="1024" />
		<parameter type="const void*" varname="__h" etype="UI8" memwidth="512" />
		<description>Encrypt 10 rounds of 8 groups of unsigned 8-bit integers in "__idata" using 256-bit AES key specified in "__h", store the resulting unsigned 8-bit integers into the corresponding elements of "__odata", and set "dst" to the ZF flag status. If exception happens, set ZF flag to 1 and zero initialize "__odata".</description>
		<operation>FOR i := 0 to 7
	__odata[i] := AES256Encrypt (__idata[i], __h[512:0])
ENDFOR
dst := ZF
		</operation>
		<instruction name="AESENCWIDE256KL" form="m32" xed="AESENCWIDE256KL_MEMu8" />
	<CPUID>KEYLOCKER_WIDE</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	
<intrinsic name="_lzcnt_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Count the number of leading zero bits in unsigned 32-bit integer "a", and return that count in "dst".</description>
	<operation>
tmp := 31
dst := 0
DO WHILE (tmp &gt;= 0 AND a[tmp] == 0)
	tmp := tmp - 1
	dst := dst + 1
OD
	</operation>
	<instruction form="r32, r32" name="LZCNT" xed="LZCNT_GPRv_GPRv" />
	<CPUID>LZCNT</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_lzcnt_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Count the number of leading zero bits in unsigned 64-bit integer "a", and return that count in "dst".</description>
	<operation>
tmp := 63
dst := 0
DO WHILE (tmp &gt;= 0 AND a[tmp] == 0)
	tmp := tmp - 1
	dst := dst + 1
OD
	</operation>
	<instruction form="r64, r64" name="LZCNT" xed="LZCNT_GPRv_GPRv" />
	<CPUID>LZCNT</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
<intrinsic name="_m_from_int64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Copy 64-bit integer "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="mm, r64" name="MOVQ" xed="MOVQ_MMXq_GPR64" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_m_to_int64" tech="MMX">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m64" varname="a" />
	<description>Copy 64-bit integer "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="r64, mm" name="MOVQ" xed="MOVQ_GPR64_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_m_from_int" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Copy 32-bit integer "a" to the lower elements of "dst", and zero the upper element of "dst".</description>
	<operation>
dst[31:0] := a[31:0]
dst[63:32] := 0
	</operation>
	<instruction form="mm, r32" name="MOVD" xed="MOVD_MMXq_GPR32" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_m_to_int" tech="MMX">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m64" varname="a" />
	<description>Copy the lower 32-bit integer in "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="r32, mm" name="MOVD" xed="MOVD_GPR32_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi32_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Copy 32-bit integer "a" to the lower elements of "dst", and zero the upper element of "dst".</description>
	<operation>
dst[31:0] := a[31:0]
dst[63:32] := 0
	</operation>
	<instruction form="mm, r32" name="MOVD" xed="MOVD_MMXq_GPR32" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi64_si32" tech="MMX">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m64" varname="a" />
	<description>Copy the lower 32-bit integer in "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="r32, mm" name="MOVD" xed="MOVD_GPR32_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtm64_si64" tech="MMX">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m64" varname="a" />
	<description>Copy 64-bit integer "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="r64, mm" name="MOVQ" xed="MOVQ_GPR64_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi64_m64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Copy 64-bit integer "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="mm, r64" name="MOVQ" xed="MOVQ_MMXq_GPR64" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_m_empty" tech="MMX">
	<return type="void" />
	<parameter type="void" />
	<description>Empty the MMX state, which marks the x87 FPU registers as available for use by x87 instructions. This instruction must be used at the end of all MMX technology procedures.</description>
	<instruction name="EMMS" xed="EMMS" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_empty" tech="MMX">
	<return type="void" />
	<parameter type="void" />
	<description>Empty the MMX state, which marks the x87 FPU registers as available for use by x87 instructions. This instruction must be used at the end of all MMX technology procedures.</description>
	<instruction name="EMMS" xed="EMMS" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_m_packsswb" tech="MMX">
	<return etype="SI8" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := Saturate8(a[15:0])
dst[15:8] := Saturate8(a[31:16])
dst[23:16] := Saturate8(a[47:32])
dst[31:24] := Saturate8(a[63:48])
dst[39:32] := Saturate8(b[15:0])
dst[47:40] := Saturate8(b[31:16])
dst[55:48] := Saturate8(b[47:32])
dst[63:56] := Saturate8(b[63:48])
	</operation>
	<instruction form="mm, mm" name="PACKSSWB" xed="PACKSSWB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_m_packssdw" tech="MMX">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:0])
dst[31:16] := Saturate16(a[63:32])
dst[47:32] := Saturate16(b[31:0])
dst[63:48] := Saturate16(b[63:32])
	</operation>
	<instruction form="mm, mm" name="PACKSSDW" xed="PACKSSDW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_m_packuswb" tech="MMX">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := SaturateU8(a[15:0])
dst[15:8] := SaturateU8(a[31:16])
dst[23:16] := SaturateU8(a[47:32])
dst[31:24] := SaturateU8(a[63:48])
dst[39:32] := SaturateU8(b[15:0])
dst[47:40] := SaturateU8(b[31:16])
dst[55:48] := SaturateU8(b[47:32])
dst[63:56] := SaturateU8(b[63:48])
	</operation>
	<instruction form="mm, mm" name="PACKUSWB" xed="PACKUSWB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_packs_pi16" tech="MMX">
	<return etype="SI8" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := Saturate8(a[15:0])
dst[15:8] := Saturate8(a[31:16])
dst[23:16] := Saturate8(a[47:32])
dst[31:24] := Saturate8(a[63:48])
dst[39:32] := Saturate8(b[15:0])
dst[47:40] := Saturate8(b[31:16])
dst[55:48] := Saturate8(b[47:32])
dst[63:56] := Saturate8(b[63:48])
	</operation>
	<instruction form="mm, mm" name="PACKSSWB" xed="PACKSSWB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_packs_pi32" tech="MMX">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:0])
dst[31:16] := Saturate16(a[63:32])
dst[47:32] := Saturate16(b[31:0])
dst[63:48] := Saturate16(b[63:32])
	</operation>
	<instruction form="mm, mm" name="PACKSSDW" xed="PACKSSDW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_packs_pu16" tech="MMX">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := SaturateU8(a[15:0])
dst[15:8] := SaturateU8(a[31:16])
dst[23:16] := SaturateU8(a[47:32])
dst[31:24] := SaturateU8(a[63:48])
dst[39:32] := SaturateU8(b[15:0])
dst[47:40] := SaturateU8(b[31:16])
dst[55:48] := SaturateU8(b[47:32])
dst[63:56] := SaturateU8(b[63:48])
	</operation>
	<instruction form="mm, mm" name="PACKUSWB" xed="PACKUSWB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_m_punpckhbw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[63:0], src2[63:0]) {
	dst[7:0] := src1[39:32]
	dst[15:8] := src2[39:32] 
	dst[23:16] := src1[47:40]
	dst[31:24] := src2[47:40]
	dst[39:32] := src1[55:48]
	dst[47:40] := src2[55:48]
	dst[55:48] := src1[63:56]
	dst[63:56] := src2[63:56]
	RETURN dst[63:0]
}
dst[63:0] := INTERLEAVE_HIGH_BYTES(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKHBW" xed="PUNPCKHBW_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_punpckhwd" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[63:0], src2[63:0]) {
	dst[15:0] := src1[47:32]
	dst[31:16] := src2[47:32]
	dst[47:32] := src1[63:48]
	dst[63:48] := src2[63:48]
	RETURN dst[63:0]
}
dst[63:0] := INTERLEAVE_HIGH_WORDS(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKLBW" xed="PUNPCKLBW_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_punpckhdq" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[63:32]
dst[63:32] := b[63:32]
	</operation>
	<instruction form="mm, mm" name="PUNPCKHDQ" xed="PUNPCKHDQ_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_punpcklbw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[63:0], src2[63:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	RETURN dst[63:0]	
}
dst[63:0] := INTERLEAVE_BYTES(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKLBW" xed="PUNPCKLBW_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_punpcklwd" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[63:0], src2[63:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	RETURN dst[63:0]	
}
dst[63:0] := INTERLEAVE_WORDS(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKLWD" xed="PUNPCKLWD_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_punpckldq" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[31:0]
dst[63:32] := b[31:0]
	</operation>
	<instruction form="mm, mm" name="PUNPCKLDQ" xed="PUNPCKLDQ_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[63:0], src2[63:0]) {
	dst[7:0] := src1[39:32]
	dst[15:8] := src2[39:32] 
	dst[23:16] := src1[47:40]
	dst[31:24] := src2[47:40]
	dst[39:32] := src1[55:48]
	dst[47:40] := src2[55:48]
	dst[55:48] := src1[63:56]
	dst[63:56] := src2[63:56]
	RETURN dst[63:0]	
}
dst[63:0] := INTERLEAVE_HIGH_BYTES(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKHBW" xed="PUNPCKHBW_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[63:0], src2[63:0]) {
	dst[15:0] := src1[47:32]
	dst[31:16] := src2[47:32]
	dst[47:32] := src1[63:48]
	dst[63:48] := src2[63:48]
	RETURN dst[63:0]
}
dst[63:0] := INTERLEAVE_HIGH_WORDS(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKLBW" xed="PUNPCKLBW_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[63:32]
dst[63:32] := b[63:32]
	</operation>
	<instruction form="mm, mm" name="PUNPCKHDQ" xed="PUNPCKHDQ_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[63:0], src2[63:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	RETURN dst[63:0]	
}
dst[63:0] := INTERLEAVE_BYTES(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKLBW" xed="PUNPCKLBW_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[63:0], src2[63:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	RETURN dst[63:0]	
}
dst[63:0] := INTERLEAVE_WORDS(a[63:0], b[63:0])
	</operation>
	<instruction form="mm, mm" name="PUNPCKLWD" xed="PUNPCKLWD_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[31:0]
dst[63:32] := b[31:0]
	</operation>
	<instruction form="mm, mm" name="PUNPCKLDQ" xed="PUNPCKLDQ_MMXq_MMXd" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_paddb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := a[i+7:i] + b[i+7:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDB" xed="PADDB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_paddw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := a[i+15:i] + b[i+15:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDW" xed="PADDW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_paddd" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDD" xed="PADDD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_paddsb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDSB" xed="PADDSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_paddsw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDSW" xed="PADDSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_paddusb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDUSB" xed="PADDUSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_paddusw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDUSW" xed="PADDUSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psubb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := a[i+7:i] - b[i+7:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBB" xed="PSUBB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psubw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := a[i+15:i] - b[i+15:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBW" xed="PSUBW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psubd" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBD" xed="PSUBD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psubsb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])	
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBSB" xed="PSUBSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psubsw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBSW" xed="PSUBSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psubusb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])	
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBUSB" xed="PSUBUSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psubusw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])	
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBUSW" xed="PSUBUSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_pmaddwd" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMADDWD" xed="PMADDWD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_pmulhw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[31:16]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMULHW" xed="PMULHW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_pmullw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	tmp[31:0] := a[i+15:i] * b[i+15:i]
	dst[i+15:i] := tmp[15:0]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMULLW" xed="PMULLW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := a[i+7:i] + b[i+7:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDB" xed="PADDB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := a[i+15:i] + b[i+15:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDW" xed="PADDW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDD" xed="PADDD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI8" type="__m64" varname="a" />
	<parameter etype="SI8" type="__m64" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDSB" xed="PADDSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDSW" xed="PADDSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_pu8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDUSB" xed="PADDUSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_pu16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PADDUSW" xed="PADDUSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := a[i+7:i] - b[i+7:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBB" xed="PSUBB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := a[i+15:i] - b[i+15:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBW" xed="PSUBW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBD" xed="PSUBD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI8" type="__m64" varname="a" />
	<parameter etype="SI8" type="__m64" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])	
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBSB" xed="PSUBSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBSW" xed="PSUBSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_pu8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])	
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBUSB" xed="PSUBUSB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_pu16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])	
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSUBUSW" xed="PSUBUSW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMADDWD" xed="PMADDWD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mulhi_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[31:16]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMULHW" xed="PMULHW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mullo_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	tmp[31:0] := a[i+15:i] * b[i+15:i]
	dst[i+15:i] := tmp[15:0]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMULLW" xed="PMULLW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psllw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSLLW" xed="PSLLW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psllwi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSLLW" xed="PSLLW_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_pslld" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSLLD" xed="PSLLD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_pslldi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSLLD" xed="PSLLD_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psllq" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift 64-bit integer "a" left by "count" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF count[63:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &lt;&lt; count[63:0])
FI
	</operation>
	<instruction form="mm, mm" name="PSLLQ" xed="PSLLQ_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psllqi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift 64-bit integer "a" left by "imm8" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF imm8[7:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &lt;&lt; imm8[7:0])
FI
	</operation>
	<instruction form="mm, imm8" name="PSLLQ" xed="PSLLQ_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psraw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRAW" xed="PSRAW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrawi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRAW" xed="PSRAW_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrad" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRAD" xed="PSRAD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psradi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRAD" xed="PSRAD_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrlw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRLW" xed="PSRLW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrlwi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRLW" xed="PSRLW_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrld" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRLD" xed="PSRLD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrldi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRLD" xed="PSRLD_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrlq" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift 64-bit integer "a" right by "count" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF count[63:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &gt;&gt; count[63:0])
FI
	</operation>
	<instruction form="mm, mm" name="PSRLQ" xed="PSRLQ_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_psrlqi" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift 64-bit integer "a" right by "imm8" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF imm8[7:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &gt;&gt; imm8[7:0])
FI
	</operation>
	<instruction form="mm, imm8" name="PSRLQ" xed="PSRLQ_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sll_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSLLW" xed="PSLLW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_slli_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSLLW" xed="PSLLW_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sll_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSLLD" xed="PSLLD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_slli_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSLLD" xed="PSLLD_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sll_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift 64-bit integer "a" left by "count" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF count[63:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &lt;&lt; count[63:0])
FI
	</operation>
	<instruction form="mm, mm" name="PSLLQ" xed="PSLLQ_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_slli_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift 64-bit integer "a" left by "imm8" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF imm8[7:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &lt;&lt; imm8[7:0])
FI
	</operation>
	<instruction form="mm, imm8" name="PSLLQ" xed="PSLLQ_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sra_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRAW" xed="PSRAW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srai_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRAW" xed="PSRAW_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sra_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRAD" xed="PSRAD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srai_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRAD" xed="PSRAD_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srl_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRLW" xed="PSRLW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srli_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRLW" xed="PSRLW_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srl_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSRLD" xed="PSRLD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srli_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="mm, imm8" name="PSRLD" xed="PSRLD_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srl_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="count" />
	<description>Shift 64-bit integer "a" right by "count" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF count[63:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &gt;&gt; count[63:0])
FI
	</operation>
	<instruction form="mm, mm" name="PSRLQ" xed="PSRLQ_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srli_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift 64-bit integer "a" right by "imm8" while shifting in zeros, and store the result in "dst".</description>
	<operation>
IF imm8[7:0] &gt; 63
	dst[63:0] := 0
ELSE
	dst[63:0] := ZeroExtend64(a[63:0] &gt;&gt; imm8[7:0])
FI
	</operation>
	<instruction form="mm, imm8" name="PSRLQ" xed="PSRLQ_MMXq_IMMb" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_m_pand" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise AND of 64 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[63:0] AND b[63:0])
	</operation>
	<instruction form="mm, mm" name="PAND" xed="PAND_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_m_pandn" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise NOT of 64 bits (representing integer data) in "a" and then AND with "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := ((NOT a[63:0]) AND b[63:0])
	</operation>
	<instruction form="mm, mm" name="PANDN" xed="PANDN_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_m_por" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise OR of 64 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[63:0] OR b[63:0])
	</operation>
	<instruction form="mm, mm" name="POR" xed="POR_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_m_pxor" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise XOR of 64 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[63:0] XOR b[63:0])
	</operation>
	<instruction form="mm, mm" name="PXOR" xed="PXOR_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_and_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise AND of 64 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[63:0] AND b[63:0])
	</operation>
	<instruction form="mm, mm" name="PAND" xed="PAND_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_andnot_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise NOT of 64 bits (representing integer data) in "a" and then AND with "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := ((NOT a[63:0]) AND b[63:0])
	</operation>
	<instruction form="mm, mm" name="PANDN" xed="PANDN_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_or_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise OR of 64 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[63:0] OR b[63:0])
	</operation>
	<instruction form="mm, mm" name="POR" xed="POR_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_xor_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compute the bitwise XOR of 64 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[63:0] XOR b[63:0])
	</operation>
	<instruction form="mm, mm" name="PXOR" xed="PXOR_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_m_pcmpeqb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compare packed 8-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := ( a[i+7:i] == b[i+7:i] ) ? 0xFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPEQB" xed="PCMPEQB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_m_pcmpeqw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compare packed 16-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := ( a[i+15:i] == b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPEQW" xed="PCMPEQW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_m_pcmpeqd" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := ( a[i+31:i] == b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPEQD" xed="PCMPEQD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_m_pcmpgtb" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Compare packed 8-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := ( a[i+7:i] &gt; b[i+7:i] ) ? 0xFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPGTB" xed="PCMPGTB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_m_pcmpgtw" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Compare packed 16-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := ( a[i+15:i] &gt; b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPGTW" xed="PCMPGTW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_m_pcmpgtd" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI64" type="__m64" varname="a" />
	<parameter etype="SI64" type="__m64" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &gt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPGTD" xed="PCMPGTD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Compare packed 8-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := ( a[i+7:i] == b[i+7:i] ) ? 0xFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPEQB" xed="PCMPEQB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Compare packed 16-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := ( a[i+15:i] == b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPEQW" xed="PCMPEQW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := ( a[i+31:i] == b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPEQD" xed="PCMPEQD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_pi8" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI8" type="__m64" varname="a" />
	<parameter etype="SI8" type="__m64" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := ( a[i+7:i] &gt; b[i+7:i] ) ? 0xFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPGTB" xed="PCMPGTB_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_pi16" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := ( a[i+15:i] &gt; b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPGTW" xed="PCMPGTW_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_pi32" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &gt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PCMPGTD" xed="PCMPGTD_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_setzero_si64" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m64 with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="mm, mm" name="PXOR" xed="PXOR_MMXq_MMXq" />
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_pi32" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[31:0] := e0
dst[63:32] := e1
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_pi16" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="short" varname="e3" />
	<parameter etype="UI16" type="short" varname="e2" />
	<parameter etype="UI16" type="short" varname="e1" />
	<parameter etype="UI16" type="short" varname="e0" />
	<description>Set packed 16-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[15:0] := e0
dst[31:16] := e1
dst[47:32] := e2
dst[63:48] := e3
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_pi8" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="char" varname="e7" />
	<parameter etype="UI8" type="char" varname="e6" />
	<parameter etype="UI8" type="char" varname="e5" />
	<parameter etype="UI8" type="char" varname="e4" />
	<parameter etype="UI8" type="char" varname="e3" />
	<parameter etype="UI8" type="char" varname="e2" />
	<parameter etype="UI8" type="char" varname="e1" />
	<parameter etype="UI8" type="char" varname="e0" />
	<description>Set packed 8-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[7:0] := e0
dst[15:8] := e1
dst[23:16] := e2
dst[31:24] := e3
dst[39:32] := e4
dst[47:40] := e5
dst[55:48] := e6
dst[63:56] := e7
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_pi32" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_pi16" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast 16-bit integer "a" to all all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := a[15:0]
ENDFOR
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_pi8" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := a[7:0]
ENDFOR
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_pi32" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[31:0] := e1
dst[63:32] := e0
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_pi16" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI16" type="short" varname="e3" />
	<parameter etype="UI16" type="short" varname="e2" />
	<parameter etype="UI16" type="short" varname="e1" />
	<parameter etype="UI16" type="short" varname="e0" />
	<description>Set packed 16-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[15:0] := e3
dst[31:16] := e2
dst[47:32] := e1
dst[63:48] := e0
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_pi8" sequence="TRUE" tech="MMX">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI8" type="char" varname="e7" />
	<parameter etype="UI8" type="char" varname="e6" />
	<parameter etype="UI8" type="char" varname="e5" />
	<parameter etype="UI8" type="char" varname="e4" />
	<parameter etype="UI8" type="char" varname="e3" />
	<parameter etype="UI8" type="char" varname="e2" />
	<parameter etype="UI8" type="char" varname="e1" />
	<parameter etype="UI8" type="char" varname="e0" />
	<description>Set packed 8-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[7:0] := e7
dst[15:8] := e6
dst[23:16] := e5
dst[31:24] := e4
dst[39:32] := e3
dst[47:40] := e2
dst[55:48] := e1
dst[63:56] := e0
	</operation>
	<CPUID>MMX</CPUID>
	<header>mmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	
	
<intrinsic name="_mm_monitor" tech="Other">
	<return type="void" />
	<parameter type="void const*" varname="p" />
	<parameter etype="UI32" type="unsigned" varname="extensions" />
	<parameter etype="UI32" type="unsigned" varname="hints" />
	<description>Arm address monitoring hardware using the address specified in "p". A store to an address within the specified address range triggers the monitoring hardware. Specify optional extensions in "extensions", and optional hints in "hints".</description>
	<instruction name="MONITOR" xed="MONITOR" />
	<CPUID>MONITOR</CPUID>
	<header>pmmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_mwait" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="unsigned" varname="extensions" />
	<parameter etype="UI32" type="unsigned" varname="hints" />
	<description>Hint to the processor that it can enter an implementation-dependent-optimized state while waiting for an event or store operation to the address range specified by MONITOR.</description>
	<instruction name="MWAIT" xed="MWAIT" />
	<CPUID>MONITOR</CPUID>
	<header>pmmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_loadbe_i16" tech="Other">
	<return etype="UI16" type="short" varname="dst" />
	<parameter etype="UI16" memwidth="16" type="void const *" varname="ptr" />
	<description>Load 16 bits from memory, perform a byte swap operation, and store the result in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*8
	dst[i+7:i] := MEM[ptr+15-i:ptr+8-i]
ENDFOR
	</operation>
	<instruction form="r16, m16" name="MOVBE" xed="MOVBE_GPRv_MEMv" />
	<CPUID>MOVBE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_loadbe_i32" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="void const *" varname="ptr" />
	<description>Load 32 bits from memory, perform a byte swap operation, and store the result in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*8
	dst[i+7:i] := MEM[ptr+31-i:ptr+24-i]
ENDFOR
	</operation>
	<instruction form="r32, m32" name="MOVBE" xed="MOVBE_GPRv_MEMv" />
	<CPUID>MOVBE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_loadbe_i64" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" memwidth="64" type="void const *" varname="ptr" />
	<description>Load 64 bits from memory, perform a byte swap operation, and store the result in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := MEM[ptr+63-i:ptr+56-i]
ENDFOR
	</operation>
	<instruction form="r64, m64" name="MOVBE" xed="MOVBE_GPRv_MEMv" />
	<CPUID>MOVBE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_storebe_i16" tech="Other">
	<return type="void" />
	<parameter etype="UI16" memwidth="16" type="void *" varname="ptr" />
	<parameter etype="UI16" type="short" varname="data" />
	<description>Perform a bit swap operation of the 16 bits in "data", and store the results to memory.</description>
	<operation>
FOR j := 0 to 1
	i := j*8
	MEM[ptr+i+7:ptr+i] := data[15-i:8-i]
ENDFOR
	</operation>
	<instruction form="m16, r16" name="MOVBE" xed="MOVBE_MEMv_GPRv" />
	<CPUID>MOVBE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_storebe_i32" tech="Other">
	<return type="void" />
	<parameter etype="UI32" memwidth="32" type="void *" varname="ptr" />
	<parameter etype="UI32" type="int" varname="data" />
	<description>Perform a bit swap operation of the 32 bits in "data", and store the results to memory.</description>
	<operation>
addr := MEM[ptr]
FOR j := 0 to 3
	i := j*8
	MEM[ptr+i+7:ptr+i] := data[31-i:24-i]
ENDFOR
	</operation>
	<instruction form="m32, r32" name="MOVBE" xed="MOVBE_MEMv_GPRv" />
	<CPUID>MOVBE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_storebe_i64" tech="Other">
	<return type="void" />
	<parameter etype="UI64" memwidth="64" type="void *" varname="ptr" />
	<parameter etype="UI64" type="__int64" varname="data" />
	<description>Perform a bit swap operation of the 64 bits in "data", and store the results to memory.</description>
	<operation>
addr := MEM[ptr]
FOR j := 0 to 7
	i := j*8
	MEM[ptr+i+7:ptr+i] := data[63-i:56-i]
ENDFOR
	</operation>
	<instruction form="m64, r64" name="MOVBE" xed="MOVBE_MEMv_GPRv" />
	<CPUID>MOVBE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	
	
<intrinsic name="_movdir64b" tech="Other">
	<return type="void" />
	<parameter etype="M512" memwidth="512" type="void*" varname="dst" />
	<parameter etype="M512" memwidth="512" type="const void*" varname="src" />
	<description>Move 64-byte (512-bit) value using direct store from source memory address "src" to destination memory address "dst".</description>
	<operation>
MEM[dst+511:dst] := MEM[src+511:src]
	</operation>
	<instruction form="r64, m512" name="MOVDIR64B" xed="MOVDIR64B_GPRa_MEM" />
	<CPUID>MOVDIR64B</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	
	
<intrinsic name="_directstoreu_u64" tech="Other">
	<return type="void" />
	<parameter etype="UI64" memwidth="64" type="void*" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="val" />
	<description>Store 64-bit integer from "val" into memory using direct store.</description>
	<operation>
MEM[dst+63:dst] := val[63:0]
	</operation>
	<instruction form="m64, r64" name="MOVDIRI" xed="MOVDIRI_MEMu64_GPR64u64" />
	<CPUID>MOVDIRI</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_directstoreu_u32" tech="Other">
	<return type="void" />
	<parameter etype="UI32" memwidth="32" type="void*" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="val" />
	<description>Store 32-bit integer from "val" into memory using direct store.</description>
	<operation>
MEM[dst+31:dst] := val[31:0]
	</operation>
	<instruction form="m32, r32" name="MOVDIRI" xed="MOVDIRI_MEMu32_GPR32u32" />
	<CPUID>MOVDIRI</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	
	
<intrinsic name="_bnd_set_ptr_bounds" tech="Other">
	<return type="void *" />
	<parameter type="const void *" varname="srcmem" />
	<parameter etype="UI64" type="size_t" varname="size" />
	<description>Make a pointer with the value of "srcmem" and bounds set to ["srcmem", "srcmem" + "size" - 1], and store the result in "dst".</description>
	<operation>dst := srcmem
dst.LB := srcmem.LB
dst.UB := srcmem + size - 1
	</operation>
	<instruction form="bnd, m32" name="BNDMK" xed="BNDMK_BND_AGEN" />
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_narrow_ptr_bounds" sequence="TRUE" tech="Other">
	<return type="void *" />
	<parameter type="const void *" varname="q" />
	<parameter type="const void *" varname="r" />
	<parameter etype="UI64" type="size_t" varname="size" />
	<description>Narrow the bounds for pointer "q" to the intersection of the bounds of "r" and the bounds ["q", "q" + "size" - 1], and store the result in "dst".</description>
	<operation>dst := q
IF r.LB &gt; (q + size - 1) OR r.UB &lt; q
	dst.LB := 1
	dst.UB := 0
ELSE
	dst.LB := MAX(r.LB, q)
	dst.UB := MIN(r.UB, (q + size - 1))
FI
	</operation>
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_copy_ptr_bounds" sequence="TRUE" tech="Other">
	<return type="void *" />
	<parameter type="const void *" varname="q" />
	<parameter type="const void *" varname="r" />
	<description>Make a pointer with the value of "q" and bounds set to the bounds of "r" (e.g. copy the bounds of "r" to pointer "q"), and store the result in "dst".</description>
	<operation>dst := q
dst.LB := r.LB
dst.UB := r.UB
	</operation>
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_init_ptr_bounds" sequence="TRUE" tech="Other">
	<return type="void *" />
	<parameter type="const void *" varname="q" />
	<description>Make a pointer with the value of "q" and open bounds, which allow the pointer to access the entire virtual address space, and store the result in "dst".</description>
	<operation>dst := q
dst.LB := 0
dst.UB := 0
	</operation>
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_store_ptr_bounds" tech="Other">
	<return type="void" />
	<parameter type="const void **" varname="ptr_addr" />
	<parameter type="const void *" varname="ptr_val" />
	<description>Stores the bounds of "ptr_val" pointer in memory at address "ptr_addr".</description>
	<operation>MEM[ptr_addr].LB := ptr_val.LB
MEM[ptr_addr].UB := ptr_val.UB
	</operation>
	<instruction form="mib, bnd" name="BNDSTX" xed="BNDSTX_MEMbnd64_BND" />
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_chk_ptr_lbounds" tech="Other">
	<return type="void" />
	<parameter type="const void *" varname="q" />
	<description>Checks if "q" is within its lower bound, and throws a #BR if not.</description>
	<operation>IF q &lt; q.LB
	#BR
FI
	</operation>
	<instruction form="bnd, m64" name="BNDCL" xed="BNDCL_BND_AGEN" />
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_chk_ptr_ubounds" tech="Other">
	<return type="void" />
	<parameter type="const void *" varname="q" />
	<description>Checks if "q" is within its upper bound, and throws a #BR if not.</description>
	<operation>IF q &gt; q.UB
	#BR
FI
	</operation>
	<instruction form="bnd, m64" name="BNDCU" xed="BNDCU_BND_AGEN" />
	<instruction form="bnd, m64" name="BNDCN" xed="BNDCN_BND_AGEN" />
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_chk_ptr_bounds" tech="Other">
	<return type="void" />
	<parameter type="const void *" varname="q" />
	<parameter etype="UI64" type="size_t" varname="size" />
	<description>Checks if ["q", "q" + "size" - 1] is within the lower and upper bounds of "q" and throws a #BR if not.</description>
	<operation>IF (q + size - 1) &lt; q.LB OR (q + size - 1) &gt; q.UB
	#BR
FI
	</operation>
	<instruction form="bnd, m32" name="BNDCU" xed="BNDCU_BND_AGEN" />
	<instruction form="bnd, m32" name="BNDCN" xed="BNDCN_BND_AGEN" />
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_get_ptr_lbound" sequence="TRUE" tech="Other">
	<return type="const void *" />
	<parameter type="const void *" varname="q" />
	<description>Return the lower bound of "q".</description>
	<operation>dst := q.LB
	</operation>
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	<intrinsic name="_bnd_get_ptr_ubound" sequence="TRUE" tech="Other">
	<return type="const void *" />
	<parameter type="const void *" varname="q" />
	<description>Return the upper bound of "q".</description>
	<operation>dst := q.UB
	</operation>
	<CPUID>MPX</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	<supported icx="FALSE" />
	</intrinsic>
	
<intrinsic name="_bit_scan_forward" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Set "dst" to the index of the lowest set bit in 32-bit integer "a". If no bits are set in "a" then "dst" is undefined.</description>
	<operation>
tmp := 0
IF a == 0
	// dst is undefined
ELSE
	DO WHILE ((tmp &lt; 32) AND a[tmp] == 0)
		tmp := tmp + 1
	OD
FI
dst := tmp
	</operation>
	<instruction form="r32, r32" name="BSF" xed="BSF_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bit_scan_reverse" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Set "dst" to the index of the highest set bit in 32-bit integer "a". If no bits are set in "a" then "dst" is undefined.</description>
	<operation>
tmp := 31
IF a == 0
	// dst is undefined
ELSE
	DO WHILE ((tmp &gt; 0) AND a[tmp] == 0)
		tmp := tmp - 1
	OD
FI
dst := tmp
	</operation>
	<instruction form="r32, r32" name="BSR" xed="BSR_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_BitScanForward" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="unsigned __int32*" varname="index" />
	<parameter etype="UI32" type="unsigned __int32" varname="a" />
	<description>Set "index" to the index of the lowest set bit in 32-bit integer "mask". If no bits are set in "a", then "index" is undefined and "dst" is set to 0, otherwise "dst" is set to 1.</description>
	<operation>
tmp := 0
IF a == 0
	// MEM[index+31:index] is undefined
	dst := 0
ELSE
	DO WHILE ((tmp &lt; 32) AND a[tmp] == 0)
		tmp := tmp + 1
	OD
	MEM[index+31:index] := tmp
	dst := (tmp == 31) ? 0 : 1
FI
	</operation>
	<instruction form="r32, r32" name="BSF" xed="BSF_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_BitScanReverse" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="unsigned __int32*" varname="index" />
	<parameter etype="UI32" type="unsigned __int32" varname="a" />
	<description>Set "index" to the index of the highest set bit in 32-bit integer "mask". If no bits are set in "a", then "index" is undefined and "dst" is set to 0, otherwise "dst" is set to 1.</description>
	<operation>
tmp := 31
IF a == 0
	// MEM[index+31:index] is undefined
	dst := 0
ELSE
	DO WHILE ((tmp &gt; 0) AND a[tmp] == 0)
		tmp := tmp - 1
	OD
	MEM[index+31:index] := tmp
	dst := (tmp == 0) ? 0 : 1
FI
	</operation>
	<instruction form="r32, r32" name="BSR" xed="BSR_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_BitScanForward64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="unsigned __int32*" varname="index" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Set "index" to the index of the lowest set bit in 32-bit integer "mask". If no bits are set in "a", then "index" is undefined and "dst" is set to 0, otherwise "dst" is set to 1.</description>
	<operation>
tmp := 0
IF a == 0
	// MEM[index+31:index] is undefined
	dst := 0
ELSE
	DO WHILE ((tmp &lt; 64) AND a[tmp] == 0)
		tmp := tmp + 1
	OD
	MEM[index+31:index] := tmp
	dst := (tmp == 63) ? 0 : 1
FI
	</operation>
	<instruction form="r64, r64" name="BSF" xed="BSF_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_BitScanReverse64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="unsigned __int32*" varname="index" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Set "index" to the index of the highest set bit in 32-bit integer "mask". If no bits are set in "a", then "index" is undefined and "dst" is set to 0, otherwise "dst" is set to 1.</description>
	<operation>
tmp := 63
IF a == 0
	// MEM[index+31:index] is undefined
	dst := 0
ELSE
	DO WHILE ((tmp &gt; 0) AND a[tmp] == 0)
		tmp := tmp - 1
	OD
	MEM[index+31:index] := tmp
	dst := (tmp == 0) ? 0 : 1
FI
	</operation>
	<instruction form="r64, r64" name="BSR" xed="BSR_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittest" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="__int32*" varname="a" />
	<parameter etype="IMM" immwidth="5" type="__int32" varname="b" />
	<description>Return the bit at index "b" of 32-bit integer "a".</description>
	<operation>
addr := a + ZeroExtend64(b)
dst[0] := MEM[addr]
	</operation>
	<instruction form="m32, r32" name="BT" xed="BT_MEMv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittestandcomplement" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="__int32*" varname="a" />
	<parameter etype="IMM" immwidth="5" type="__int32" varname="b" />
	<description>Return the bit at index "b" of 32-bit integer "a", and set that bit to its complement.</description>
	<operation>
addr := a + ZeroExtend64(b)
dst[0] := MEM[addr]
MEM[addr] := ~dst[0]
	</operation>
	<instruction form="m32, r32" name="BTC" xed="BTC_MEMv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittestandreset" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="__int32*" varname="a" />
	<parameter etype="IMM" immwidth="5" type="__int32" varname="b" />
	<description>Return the bit at index "b" of 32-bit integer "a", and set that bit to zero.</description>
	<operation>
addr := a + ZeroExtend64(b)
dst[0] := MEM[addr]
MEM[addr] := 0
	</operation>
	<instruction form="m32, r32" name="BTR" xed="BTR_MEMv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittestandset" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="__int32*" varname="a" />
	<parameter etype="IMM" immwidth="5" type="__int32" varname="b" />
	<description>Return the bit at index "b" of 32-bit integer "a", and set that bit to one.</description>
	<operation>
addr := a + ZeroExtend64(b)
dst[0] := MEM[addr]
MEM[addr] := 1
	</operation>
	<instruction form="m32, r32" name="BTS" xed="BTS_MEMv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittest64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI64" memwidth="32" type="__int64*" varname="a" />
	<parameter etype="IMM" immwidth="6" type="__int64" varname="b" />
	<description>Return the bit at index "b" of 64-bit integer "a".</description>
	<operation>
addr := a + b
dst[0] := MEM[addr]
	</operation>
	<instruction form="r64, r64" name="BT" xed="BT_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittestandcomplement64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI64" memwidth="32" type="__int64*" varname="a" />
	<parameter etype="IMM" immwidth="6" type="__int64" varname="b" />
	<description>Return the bit at index "b" of 64-bit integer "a", and set that bit to its complement.</description>
	<operation>
addr := a + b
dst[0] := MEM[addr]
MEM[addr] := ~dst[0]
	</operation>
	<instruction form="r64, r64" name="BTC" xed="BTC_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittestandreset64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI64" memwidth="32" type="__int64*" varname="a" />
	<parameter etype="IMM" immwidth="6" type="__int64" varname="b" />
	<description>Return the bit at index "b" of 64-bit integer "a", and set that bit to zero.</description>
	<operation>
addr := a + b
dst[0] := MEM[addr]
MEM[addr] := 0
	</operation>
	<instruction form="r64, r64" name="BTR" xed="BTR_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bittestandset64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI64" memwidth="32" type="__int64*" varname="a" />
	<parameter etype="IMM" immwidth="6" type="__int64" varname="b" />
	<description>Return the bit at index "b" of 64-bit integer "a", and set that bit to one.</description>
	<operation>
addr := a + b
dst[0] := MEM[addr]
MEM[addr] := 1
	</operation>
	<instruction form="r64, r64" name="BTS" xed="BTS_GPRv_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bswap" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Reverse the byte order of 32-bit integer "a", and store the result in "dst". This intrinsic is provided for conversion between little and big endian values.</description>
	<operation>
dst[7:0] := a[31:24]
dst[15:8] := a[23:16]
dst[23:16] := a[15:8]
dst[31:24] := a[7:0]
	</operation>
	<instruction form="r32" name="BSWAP" xed="BSWAP_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_bswap64" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Reverse the byte order of 64-bit integer "a", and store the result in "dst". This intrinsic is provided for conversion between little and big endian values.</description>
	<operation>
dst[7:0] := a[63:56]
dst[15:8] := a[55:48]
dst[23:16] := a[47:40]
dst[31:24] := a[39:32]
dst[39:32] := a[31:24]
dst[47:40] := a[23:16]
dst[55:48] := a[15:8]
dst[63:56] := a[7:0]
	</operation>
	<instruction form="r64" name="BSWAP" xed="BSWAP_GPRv" />
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_castf32_u32" tech="Other">
	<return etype="UI32" type="unsigned __int32" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Cast from type float to type unsigned __int32 without conversion.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_castf64_u64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Cast from type double to type unsigned __int64 without conversion.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_castu32_f32" tech="Other">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="UI32" type="unsigned __int32" varname="a" />
	<description>Cast from type unsigned __int32 to type float without conversion.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_castu64_f64" tech="Other">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Cast from type unsigned __int64 to type double without conversion.
	This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<header>immintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_lrotl" tech="Other">
	<return etype="UI32" type="unsigned long" varname="dst" />
	<parameter etype="UI32" type="unsigned long" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="shift" />
	<description>Shift the bits of unsigned long integer "a" left by the number of bits specified in "shift", rotating the most-significant bit to the least-significant bit location, and store the unsigned result in "dst".</description>
	<operation>// size := 32 or 64
dst := a
count := shift AND (size - 1)
DO WHILE (count &gt; 0)
	tmp[0] := dst[size - 1]
	dst := (dst &lt;&lt; 1) OR tmp[0]
	count := count - 1
OD
	</operation>
	<instruction form="r64, imm8" name="ROL" xed="ROL_GPRv_IMMb" />
	<instruction form="r32, imm8" name="ROL" xed="ROL_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_lrotr" tech="Other">
	<return etype="UI32" type="unsigned long" varname="dst" />
	<parameter etype="UI32" type="unsigned long" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="shift" />
	<description>Shift the bits of unsigned long integer "a" right by the number of bits specified in "shift", rotating the least-significant bit to the most-significant bit location, and store the unsigned result in "dst".</description>
	<operation>// size := 32 or 64
dst := a
count := shift AND (size - 1)
DO WHILE (count &gt; 0)
	tmp[size - 1] := dst[0]
	dst := (dst &gt;&gt; 1) OR tmp[size - 1]
	count := count - 1
OD
	</operation>
	<instruction form="r64, imm8" name="ROR" xed="ROR_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_rotl" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="IMM" immwidth="5" type="int" varname="shift" />
	<description>Shift the bits of unsigned 32-bit integer "a" left by the number of bits specified in "shift", rotating the most-significant bit to the least-significant bit location, and store the unsigned result in "dst".</description>
	<operation>
dst := a
count := shift AND 31
DO WHILE (count &gt; 0)
	tmp[0] := dst[31]
	dst := (dst &lt;&lt; 1) OR tmp[0]
	count := count - 1
OD
	</operation>
	<instruction form="r32, imm8" name="ROL" xed="ROL_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_rotr" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="IMM" immwidth="5" type="int" varname="shift" />
	<description>Shift the bits of unsigned 32-bit integer "a" right by the number of bits specified in "shift", rotating the least-significant bit to the most-significant bit location, and store the unsigned result in "dst".</description>
	<operation>
dst := a
count := shift AND 31
DO WHILE (count &gt; 0)
	tmp[31] := dst[0]
	dst := (dst &gt;&gt; 1) OR tmp
	count := count - 1
OD
	</operation>
	<instruction form="r32, imm8" name="ROR" xed="ROR_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_rotwl" tech="Other">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="UI16" type="unsigned short" varname="a" />
	<parameter etype="IMM" immwidth="4" type="int" varname="shift" />
	<description>Shift the bits of unsigned 16-bit integer "a" left by the number of bits specified in "shift", rotating the most-significant bit to the least-significant bit location, and store the unsigned result in "dst".</description>
	<operation>
dst := a
count := shift AND 15
DO WHILE (count &gt; 0)
	tmp[0] := dst[15]
	dst := (dst &lt;&lt; 1) OR tmp[0]
	count := count - 1
OD
	</operation>
	<instruction form="r16, imm8" name="ROL" xed="ROL_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_rotwr" tech="Other">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="UI16" type="unsigned short" varname="a" />
	<parameter etype="IMM" immwidth="4" type="int" varname="shift" />
	<description>Shift the bits of unsigned 16-bit integer "a" right by the number of bits specified in "shift", rotating the least-significant bit to the most-significant bit location, and store the unsigned result in "dst".</description>
	<operation>
dst := a
count := shift AND 15
DO WHILE (count &gt; 0)
	tmp[15] := dst[0]
	dst := (dst &gt;&gt; 1) OR tmp
	count := count - 1
OD
	</operation>
	<instruction form="r16, imm8" name="ROR" xed="ROR_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_rotl64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="IMM" immwidth="6" type="int" varname="shift" />
	<description>Shift the bits of unsigned 64-bit integer "a" left by the number of bits specified in "shift", rotating the most-significant bit to the least-significant bit location, and store the unsigned result in "dst".</description>
	<operation>
dst := a
count := shift AND 63
DO WHILE (count &gt; 0)
	tmp[0] := dst[63]
	dst := (dst &lt;&lt; 1) OR tmp[0]
	count := count - 1
OD
	</operation>
	<instruction form="r64, imm8" name="ROL" xed="ROL_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_rotr64" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="IMM" immwidth="6" type="int" varname="shift" />
	<description>Shift the bits of unsigned 64-bit integer "a" right by the number of bits specified in "shift", rotating the least-significant bit to the most-significant bit location, and store the unsigned result in "dst".</description>
	<operation>
dst := a
count := shift AND 63
DO WHILE (count &gt; 0)
	tmp[63] := dst[0]
	dst := (dst &gt;&gt; 1) OR tmp[63]
	count := count - 1
OD
	</operation>
	<instruction form="r64, imm8" name="ROR" xed="ROR_GPRv_IMMb" />
	<header>immintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_allow_cpu_features" sequence="TRUE" tech="Other">
	<return type="void" />
	<parameter etype="IMM" immwidth="8" type="unsigned __int64" varname="a" />
	<description>Treat the processor-specific feature(s) specified in "a" as available. Multiple features may be OR'd together. See the valid feature flags below:</description>
	<operation>
_FEATURE_GENERIC_IA32
_FEATURE_FPU
_FEATURE_CMOV
_FEATURE_MMX
_FEATURE_FXSAVE
_FEATURE_SSE
_FEATURE_SSE2
_FEATURE_SSE3
_FEATURE_SSSE3
_FEATURE_SSE4_1
_FEATURE_SSE4_2
_FEATURE_MOVBE
_FEATURE_POPCNT
_FEATURE_PCLMULQDQ
_FEATURE_AES
_FEATURE_F16C
_FEATURE_AVX
_FEATURE_RDRND
_FEATURE_FMA
_FEATURE_BMI
_FEATURE_LZCNT
_FEATURE_HLE
_FEATURE_RTM
_FEATURE_AVX2
_FEATURE_KNCNI
_FEATURE_AVX512F
_FEATURE_ADX
_FEATURE_RDSEED
_FEATURE_AVX512ER
_FEATURE_AVX512PF
_FEATURE_AVX512CD
_FEATURE_SHA
_FEATURE_MPX
_FEATURE_AVX512BW
_FEATURE_AVX512VL
_FEATURE_AVX512VBMI
_FEATURE_AVX512_4FMAPS
_FEATURE_AVX512_4VNNIW
_FEATURE_AVX512_VPOPCNTDQ
_FEATURE_AVX512_BITALG
_FEATURE_AVX512_VBMI2
_FEATURE_GFNI
_FEATURE_VAES
_FEATURE_VPCLMULQDQ
_FEATURE_AVX512_VNNI
_FEATURE_CLWB
_FEATURE_RDPID
_FEATURE_IBT
_FEATURE_SHSTK
_FEATURE_SGX
_FEATURE_WBNOINVD
_FEATURE_PCONFIG
_FEATURE_AXV512_4VNNIB
_FEATURE_AXV512_4FMAPH
_FEATURE_AXV512_BITALG2
_FEATURE_AXV512_VP2INTERSECT
	</operation>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_may_i_use_cpu_feature" sequence="TRUE" tech="Other">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="IMM" immwidth="8" type="unsigned __int64" varname="a" />
	<description>Dynamically query the processor to determine if the processor-specific feature(s) specified in "a" are available, and return true or false (1 or 0) if the set of features is available. Multiple features may be OR'd together. This function is limited to bitmask values in the first 'page' of the libirc cpu-id information. This intrinsic does not check the processor vendor. See the valid feature flags below:</description>
	<operation>
_FEATURE_GENERIC_IA32
_FEATURE_FPU
_FEATURE_CMOV
_FEATURE_MMX
_FEATURE_FXSAVE
_FEATURE_SSE
_FEATURE_SSE2
_FEATURE_SSE3
_FEATURE_SSSE3
_FEATURE_SSE4_1
_FEATURE_SSE4_2
_FEATURE_MOVBE
_FEATURE_POPCNT
_FEATURE_PCLMULQDQ
_FEATURE_AES
_FEATURE_F16C
_FEATURE_AVX
_FEATURE_RDRND
_FEATURE_FMA
_FEATURE_BMI
_FEATURE_LZCNT
_FEATURE_HLE
_FEATURE_RTM
_FEATURE_AVX2
_FEATURE_KNCNI
_FEATURE_AVX512F
_FEATURE_ADX
_FEATURE_RDSEED
_FEATURE_AVX512ER
_FEATURE_AVX512PF
_FEATURE_AVX512CD
_FEATURE_SHA
_FEATURE_MPX
_FEATURE_AVX512BW
_FEATURE_AVX512VL
_FEATURE_AVX512VBMI
_FEATURE_AVX512_4FMAPS
_FEATURE_AVX512_4VNNIW
_FEATURE_AVX512_VPOPCNTDQ
_FEATURE_AVX512_BITALG
_FEATURE_AVX512_VBMI2
_FEATURE_GFNI
_FEATURE_VAES
_FEATURE_VPCLMULQDQ
_FEATURE_AVX512_VNNI
_FEATURE_CLWB
_FEATURE_RDPID
_FEATURE_IBT
_FEATURE_SHSTK
_FEATURE_SGX
_FEATURE_WBNOINVD
_FEATURE_PCONFIG
_FEATURE_AXV512_4VNNIB
_FEATURE_AXV512_4FMAPH
_FEATURE_AXV512_BITALG2
_FEATURE_AXV512_VP2INTERSECT
_FEATURE_AXV512_FP16
	</operation>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_may_i_use_cpu_feature_ext" sequence="TRUE" tech="Other">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="IMM" immwidth="8" type="unsigned __int64" varname="a" />
	<parameter etype="IMM" immwidth="1" type="unsigned" varname="page" />
	<description>Dynamically query the processor to determine if the processor-specific feature(s) specified in "a" are available, and return true or false (1 or 0) if the set of features is available. Multiple features may be OR'd together. This works identically to the previous variant, except it also accepts a 'page' index that permits checking features on the 2nd page of the libirc information. When provided with a '0' in the 'page' parameter, this works identically to _may_i_use_cpu_feature. This intrinsic does not check the processor vendor. See the valid feature flags on the 2nd page below: (provided with a '1' in the 'page' parameter)</description>
	<operation>
_FEATURE_CLDEMOTE
_FEATURE_MOVDIRI
_FEATURE_MOVDIR64B
_FEATURE_WAITPKG
_FEATURE_AVX512_Bf16
_FEATURE_ENQCMD
_FEATURE_AVX_VNNI
_FEATURE_AMX_TILE
_FEATURE_AMX_INT8
_FEATURE_AMX_BF16
_FEATURE_KL
_FEATURE_WIDE_KL
_FEATURE_HRESET
_FEATURE_UINTR
_FEATURE_PREFETCHI
_FEATURE_AVXVNNIINT8
_FEATURE_CMPCCXADD
_FEATURE_AVXIFMA
_FEATURE_AVXNECONVERT
_FEATURE_RAOINT
_FEATURE_AMX_FP16
_FEATURE_AMX_COMPLEX
_FEATURE_SHA512
_FEATURE_SM3
_FEATURE_SM4
_FEATURE_AVXVNNIINT16
_FEATURE_USERMSR
_FEATURE_AVX10_1_256
_FEATURE_AVX10_1_512
_FEATURE_APXF
_FEATURE_MSRLIST
_FEATURE_WRMSRNS
_FEATURE_PBNDKB
	</operation>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_may_i_use_cpu_feature_str" sequence="TRUE" tech="Other">
	<return etype="UI32" type="int" varname="k" />
	<parameter type="string literal" varname="feature, ..." />
	<description>Dynamically query the processor to determine if the processor-specific feature(s) specified a series of compile-time string literals in "feature, ..." are available, and return true or false (1 or 0) if the set of features is available. These feature names are converted to a bitmask and uses the same infrastructure as _may_i_use_cpu_feature_ext to validate it. The behavior is the same as the previous variants. This intrinsic does not check the processor vendor. Supported string literals are one-to-one corresponding in the "Operation" sections of _may_i_use_cpu_feature and _may_i_use_cpu_feature_ext. Example string literals are "avx2", "bmi", "avx512fp16", "amx-int8"...</description>
	<operation>
	</operation>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_rdpmc" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Read the Performance Monitor Counter (PMC) specified by "a", and store up to 64-bits in "dst". The width of performance counters is implementation specific.</description>
	<operation>dst[63:0] := ReadPMC(a)
	</operation>
	<instruction name="RDPMC" xed="RDPMC" />
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_addcarry_u32" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="unsigned char" varname="c_in" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<parameter etype="UI32" memwidth="32" type="unsigned int *" varname="out" />
	<description>Add unsigned 32-bit integers "a" and "b" with unsigned 8-bit carry-in "c_in" (carry flag), and store the unsigned 32-bit result in "out", and the carry-out in "dst" (carry or overflow flag).</description>
	<operation>
tmp[32:0] := a[31:0] + b[31:0] + (c_in &gt; 0 ? 1 : 0)
MEM[out+31:out] := tmp[31:0]
dst[0] := tmp[32]
dst[7:1] := 0
	</operation>
	<instruction form="r32, r32" name="ADC" xed="ADC_GPRv_GPRv_11" />
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_addcarry_u64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="unsigned char" varname="c_in" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<parameter etype="UI64" memwidth="64" type="unsigned __int64 *" varname="out" />
	<description>Add unsigned 64-bit integers "a" and "b" with unsigned 8-bit carry-in "c_in" (carry flag), and store the unsigned 64-bit result in "out", and the carry-out in "dst" (carry or overflow flag).</description>
	<operation>
tmp[64:0] := a[63:0] + b[63:0] + (c_in &gt; 0 ? 1 : 0)
MEM[out+63:out] := tmp[63:0]
dst[0] := tmp[64]
dst[7:1] := 0
	</operation>
	<instruction form="r64, r64" name="ADC" xed="ADC_GPRv_GPRv_11" />
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_subborrow_u32" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="unsigned char" varname="c_in" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI32" type="unsigned int" varname="b" />
	<parameter etype="UI32" memwidth="32" type="unsigned int *" varname="out" />
	<description>Add unsigned 8-bit borrow "c_in" (carry flag) to unsigned 32-bit integer "b", and subtract the result from unsigned 32-bit integer "a". Store the unsigned 32-bit result in "out", and the carry-out in "dst" (carry or overflow flag).</description>
	<operation>
tmp[32:0] := a[31:0] - (b[31:0] + (c_in &gt; 0 ? 1 : 0))
MEM[out+31:out] := tmp[31:0]
dst[0] := tmp[32]
dst[7:1] := 0
	</operation>
	<instruction form="r32, r32" name="SBB" xed="SBB_GPRv_GPRv_19" />
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_subborrow_u64" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI8" type="unsigned char" varname="c_in" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="b" />
	<parameter etype="UI64" memwidth="64" type="unsigned __int64 *" varname="out" />
	<description>Add unsigned 8-bit borrow "c_in" (carry flag) to unsigned 64-bit integer "b", and subtract the result from unsigned 64-bit integer "a". Store the unsigned 64-bit result in "out", and the carry-out in "dst" (carry or overflow flag).</description>
	<operation>
tmp[64:0] := a[63:0] - (b[63:0] + (c_in &gt; 0 ? 1 : 0))
MEM[out+63:out] := tmp[63:0]
dst[0] := tmp[64]
dst[7:1] := 0
	</operation>
	<instruction form="r64, r64" name="SBB" xed="SBB_GPRv_GPRv_19" />
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_ptwrite32" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Insert the 32-bit data from "a" into a Processor Trace stream via a PTW packet. The PTW packet will be inserted if tracing is currently enabled and ptwrite is currently enabled. The current IP will also be inserted via a FUP packet if FUPonPTW is enabled.</description>
	<instruction form="r32" name="PTWRITE" xed="PTWRITE_GPRy" />
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_ptwrite64" tech="Other">
	<return type="void" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Insert the 64-bit data from "a" into a Processor Trace stream via a PTW packet. The PTW packet will be inserted if tracing is currently enabled and ptwrite is currently enabled. The current IP will also be inserted via a FUP packet if FUPonPTW is enabled.</description>
	<instruction form="r64" name="PTWRITE" xed="PTWRITE_GPRy" />
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_enclu_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="const int" varname="a" />
	<parameter etype="UI64" type="size_t*" varname="__data" />
	<description>Invoke the Intel SGX enclave user (non-privilege) leaf function specified by "a", and return the error code. The "__data" array contains 3 32- or 64-bit elements that may act as input, output, or be unused, depending on the semantics of the specified leaf function; these correspond to ebx, ecx, and edx.</description>
	<instruction name="ENCLU" xed="ENCLU" />
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_encls_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="const int" varname="a" />
	<parameter etype="UI64" type="size_t*" varname="__data" />
	<description>Invoke the Intel SGX enclave system (privileged) leaf function specified by "a", and return the error code. The "__data" array contains 3 32- or 64-bit elements that may act as input, output, or be unused, depending on the semantics of the specified leaf function; these correspond to ebx, ecx, and edx.</description>
	<instruction name="ENCLS" xed="ENCLS" />
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_enclv_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="const int" varname="a" />
	<parameter etype="UI64" type="size_t*" varname="__data" />
	<description>Invoke the Intel SGX enclave virtualized (VMM) leaf function specified by "a", and return the error code. The "__data" array contains 3 32- or 64-bit elements that may act as input, output, or be unused, depending on the semantics of the specified leaf function; these correspond to ebx, ecx, and edx.</description>
	<instruction name="ENCLV" xed="ENCLV" />
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_wbinvd" tech="Other">
	<return type="void" />
	<parameter type="void" />
	<description>Write back and flush internal caches.
		Initiate writing-back and flushing of external
		caches.</description>
	<instruction name="WBINVD" xed="WBINVD" />
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_cvtsh_ss" sequence="TRUE" tech="Other">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="UI16" type="unsigned short" varname="a" />
	<description>Convert the half-precision (16-bit) floating-point value "a" to a single-precision (32-bit) floating-point value, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP16_To_FP32(a[15:0])
	</operation>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_cvtss_sh" sequence="TRUE" tech="Other">
	<return etype="UI16" type="unsigned short" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<parameter etype="IMM" hint="TRUE" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Convert the single-precision (32-bit) floating-point value "a" to a half-precision (16-bit) floating-point value, and store the result in "dst".
	[round_note]</description>
	<operation>
dst[15:0] := Convert_FP32_To_FP16(a[31:0])
	</operation>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	
<intrinsic name="_mm_clmulepi64_si128" vexEq="TRUE" tech="Other">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Perform a carry-less multiplication of two 64-bit integers, selected from "a" and "b" according to "imm8", and store the results in "dst".</description>
	<operation>
IF (imm8[0] == 0)
	TEMP1 := a[63:0]
ELSE
	TEMP1 := a[127:64]
FI 
IF (imm8[4] == 0)
	TEMP2 := b[63:0]
ELSE 
	TEMP2 := b[127:64]
FI
FOR i := 0 to 63
	TEMP[i] := (TEMP1[0] and TEMP2[i])
	FOR j := 1 to i
		TEMP[i] := TEMP[i] XOR (TEMP1[j] AND TEMP2[i-j])
	ENDFOR 
	dst[i] := TEMP[i]
ENDFOR
FOR i := 64 to 127
	TEMP[i] := 0
	FOR j := (i - 63) to 63
		TEMP[i] := TEMP[i] XOR (TEMP1[j] AND TEMP2[i-j])
	ENDFOR
	dst[i] := TEMP[i]
ENDFOR
dst[127] := 0
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCLMULQDQ" xed="PCLMULQDQ_XMMdq_XMMdq_IMMb" />
	<CPUID>PCLMULQDQ</CPUID>
	<header>wmmintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_pconfig_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<parameter etype="UI64" type="size_t*" varname="__data" />
	<description>Invoke the PCONFIG leaf function specified by "a". The "__data" array contains 3 32- or 64-bit elements that may act as input, output, or be unused, depending on the semantics of the specified leaf function; these correspond to ebx, ecx, and edx. May return the value in eax, depending on the semantics of the specified leaf function.</description>
	<instruction name="PCONFIG" xed="PCONFIG" />
	<CPUID>PCONFIG</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
	
<intrinsic name="_mm_popcnt_u32" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Count the number of bits set to 1 in unsigned 32-bit integer "a", and return that count in "dst".</description>
	<operation>
dst := 0
FOR i := 0 to 31
	IF a[i]
		dst := dst + 1
	FI
ENDFOR
	</operation>
	<instruction form="r32, r32" name="POPCNT" xed="POPCNT_GPRv_GPRv" />
	<CPUID>POPCNT</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_mm_popcnt_u64" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="a" />
	<description>Count the number of bits set to 1 in unsigned 64-bit integer "a", and return that count in "dst".</description>
	<operation>
dst := 0
FOR i := 0 to 63
	IF a[i]
		dst := dst + 1
	FI
ENDFOR
	</operation>
	<instruction form="r64, r64" name="POPCNT" xed="POPCNT_GPRv_GPRv" />
	<CPUID>POPCNT</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_popcnt32" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Count the number of bits set to 1 in 32-bit integer "a", and return that count in "dst".</description>
	<operation>
dst := 0
FOR i := 0 to 31
	IF a[i]
		dst := dst + 1
	FI
ENDFOR
	</operation>
	<instruction form="r32, r32" name="POPCNT" xed="POPCNT_GPRv_GPRv" />
	<CPUID>POPCNT</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	<intrinsic name="_popcnt64" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Count the number of bits set to 1 in 64-bit integer "a", and return that count in "dst".</description>
	<operation>
dst := 0
FOR i := 0 to 63
	IF a[i]
		dst := dst + 1
	FI
ENDFOR
	</operation>
	<instruction form="r64, r64" name="POPCNT" xed="POPCNT_GPRv_GPRv" />
	<CPUID>POPCNT</CPUID>
	<header>immintrin.h</header>
	<category>Bit Manipulation</category>
	</intrinsic>
	
	
	<intrinsic name="_m_prefetchit0" tech="Other">
	<return type="void" />
	<parameter type="const void*" memwidth="32" etype="UI8" varname="__P" />
	<description>Loads an instruction sequence containing the specified memory address into all level cache.</description>
	<instruction form="m8" name="PREFETCHIT0" xed="PREFETCHIT0_MEMu8"/>
	<CPUID>PREFETCHI</CPUID>
	<header>x86gprintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_m_prefetchit1" tech="Other">
	<return type="void" />
	<parameter type="const void*" memwidth="32" etype="UI8" varname="__P" />
	<description>Loads an instruction sequence containing the specified memory address into all but the first-level cache.</description>
	<instruction form="m8" name="PREFETCHIT1" xed="PREFETCHIT1_MEMu8"/>
	<CPUID>PREFETCHI</CPUID>
	<header>x86gprintrin.h</header>
	<category>General Support</category>
	</intrinsic>
<intrinsic name="_mm_prefetch" tech="Other">
	<return type="void" />
	<parameter etype="UI8" type="char const*" varname="p" />
	<parameter etype="IMM" immwidth="2" type="int" varname="i" />
	<description>Fetch the line of data from memory that contains address "p" to a location in the cache hierarchy specified by the locality hint "i", which can be one of:&lt;ul&gt;
    &lt;li&gt;_MM_HINT_ET0  // 7, move data using the ET0 hint. The PREFETCHW instruction will be generated.&lt;/li&gt;
    &lt;li&gt;_MM_HINT_T0   // 3, move data using the T0 hint. The PREFETCHT0 instruction will be generated.&lt;/li&gt;
    &lt;li&gt;_MM_HINT_T1   // 2, move data using the T1 hint. The PREFETCHT1 instruction will be generated.&lt;/li&gt;
    &lt;li&gt;_MM_HINT_T2   // 1, move data using the T2 hint. The PREFETCHT2 instruction will be generated.&lt;/li&gt;
    &lt;li&gt;_MM_HINT_NTA  // 0, move data using the non-temporal access (NTA) hint. The PREFETCHNTA instruction will be generated.&lt;/li&gt;
</description>
	<instruction form="m8" name="PREFETCHW" />
	<instruction form="m8" name="PREFETCHNTA" xed="PREFETCHNTA_MEMmprefetch" />
	<instruction form="m8" name="PREFETCHT0" xed="PREFETCHT0_MEMmprefetch" />
	<instruction form="m8" name="PREFETCHT1" xed="PREFETCHT1_MEMmprefetch" />
	<instruction form="m8" name="PREFETCHT2" xed="PREFETCHT2_MEMmprefetch" />
	<CPUID>PRFCHW</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_aadd_i32" tech="Other">
		<return type="void" />
		<description>Atomically add a 32-bit value at memory operand "__A" and a 32-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AADD" form="m32, r32" xed="AADD_MEM32_GPR32" />
		<operation>
MEM[__A+31:__A] := MEM[__A+31:__A] + __B[31:0]
</operation>
		<parameter type="int*" memwidth="32" etype="SI32" varname="__A" />
		<parameter type="int" etype="SI32" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_aadd_i64" tech="Other">
		<return type="void" />
		<description>Atomically add a 64-bit value at memory operand "__A" and a 64-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AADD" form="m64, r64" xed="AADD_MEM64_GPR64" />
		<operation>
MEM[__A+63:__A] := MEM[__A+63:__A] + __B[63:0]
</operation>
		<parameter type="__int64*" memwidth="64" etype="SI64" varname="__A" />
		<parameter type="__int64" etype="SI64" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_aand_i32" tech="Other">
		<return type="void" />
		<description>Atomically and a 32-bit value at memory operand "__A" and a 32-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AAND" form="m32, r32" xed="AAND_MEM32_GPR32" />
		<operation>
MEM[__A+31:__A] := MEM[__A+31:__A] AND __B[31:0]
</operation>
		<parameter type="int*" memwidth="32" etype="SI32" varname="__A" />
		<parameter type="int" etype="SI32" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_aand_i64" tech="Other">
		<return type="void" />
		<description>Atomically and a 64-bit value at memory operand "__A" and a 64-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AAND" form="m64, r64" xed="AAND_MEM64_GPR64" />
		<operation>
MEM[__A+63:__A] := MEM[__A+63:__A] AND __B[63:0]
</operation>
		<parameter type="__int64*" memwidth="64" etype="SI64" varname="__A" />
		<parameter type="__int64" etype="SI64" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_aor_i32" tech="Other">
		<return type="void" />
		<description>Atomically or a 32-bit value at memory operand "__A" and a 32-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AOR" form="m32, r32" xed="AOR_MEM32_GPR32" />
		<operation>
MEM[__A+31:__A] := MEM[__A+31:__A] OR __B[31:0]
</operation>
		<parameter type="int*" memwidth="32" etype="SI32" varname="__A" />
		<parameter type="int" etype="SI32" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_aor_i64" tech="Other">
		<return type="void" />
		<description>Atomically or a 64-bit value at memory operand "__A" and a 64-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AOR" form="m64, r64" xed="AOR_MEM64_GPR64" />
		<operation>
MEM[__A+63:__A] := MEM[__A+63:__A] OR __B[63:0]
</operation>
		<parameter type="__int64*" memwidth="64" etype="SI64" varname="__A" />
		<parameter type="__int64" etype="SI64" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_axor_i32" tech="Other">
		<return type="void" />
		<description>Atomically xor a 32-bit value at memory operand "__A" and a 32-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AXOR" form="m32, r32" xed="AXOR_MEM32_GPR32" />
		<operation>
MEM[__A+31:__A] := MEM[__A+31:__A] XOR __B[31:0]
</operation>
		<parameter type="int*" memwidth="32" etype="SI32" varname="__A" />
		<parameter type="int" etype="SI32" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_axor_i64" tech="Other">
		<return type="void" />
		<description>Atomically xor a 64-bit value at memory operand "__A" and a 64-bit "__B", and store the result to the same memory location.</description>
		<instruction name="AXOR" form="m64, r64" xed="AXOR_MEM64_GPR64" />
		<operation>
MEM[__A+63:__A] := MEM[__A+63:__A] XOR __B[63:0]
</operation>
		<parameter type="__int64*" memwidth="64" etype="SI64" varname="__A" />
		<parameter type="__int64" etype="SI64" varname="__B" />
	<CPUID>RAO_INT</CPUID>
	<header>x86gprintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
<intrinsic name="_rdpid_u32" tech="Other">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter type="void" />
	<description>Copy the IA32_TSC_AUX MSR (signature value) into "dst".</description>
	<operation>dst[31:0] := IA32_TSC_AUX[31:0]
	</operation>
	<instruction form="r32" name="RDPID" xed="RDPID_GPR32u32" />
	<CPUID>RDPID</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_rdrand16_step" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI16" memwidth="16" type="unsigned short*" varname="val" />
	<description>Read a hardware generated 16-bit random value and store the result in "val". Return 1 if a random value was generated, and 0 otherwise.</description>
	<operation>IF HW_RND_GEN.ready == 1
	val[15:0] := HW_RND_GEN.data
	dst := 1
ELSE
	val[15:0] := 0
	dst := 0
FI
	</operation>
	<instruction form="r16" name="RDRAND" xed="RDRAND_GPRv" />
	<CPUID>RDRAND</CPUID>
	<header>immintrin.h</header>
	<category>Random</category>
	</intrinsic>
	<intrinsic name="_rdrand32_step" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="unsigned int*" varname="val" />
	<description>Read a hardware generated 32-bit random value and store the result in "val". Return 1 if a random value was generated, and 0 otherwise.</description>
	<operation>IF HW_RND_GEN.ready == 1
	val[31:0] := HW_RND_GEN.data
	dst := 1
ELSE
	val[31:0] := 0
	dst := 0
FI
	</operation>
	<instruction form="r32" name="RDRAND" xed="RDRAND_GPRv" />
	<CPUID>RDRAND</CPUID>
	<header>immintrin.h</header>
	<category>Random</category>
	</intrinsic>
	<intrinsic name="_rdrand64_step" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI64" memwidth="64" type="unsigned __int64*" varname="val" />
	<description>Read a hardware generated 64-bit random value and store the result in "val". Return 1 if a random value was generated, and 0 otherwise.</description>
	<operation>IF HW_RND_GEN.ready == 1
	val[63:0] := HW_RND_GEN.data
	dst := 1
ELSE
	val[63:0] := 0
	dst := 0
FI
	</operation>
	<instruction form="r64" name="RDRAND" xed="RDRAND_GPRv" />
	<CPUID>RDRAND</CPUID>
	<header>immintrin.h</header>
	<category>Random</category>
	</intrinsic>
	
	
<intrinsic name="_rdseed16_step" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI16" type="unsigned short *" varname="val" />
	<description>Read a 16-bit NIST SP800-90B and SP800-90C compliant random value and store in "val". Return 1 if a random value was generated, and 0 otherwise.</description>
	<operation>IF HW_NRND_GEN.ready == 1
	val[15:0] := HW_NRND_GEN.data
	dst := 1
ELSE
	val[15:0] := 0
	dst := 0
FI
	</operation>
	<instruction form="r16" name="RDSEED" xed="RDSEED_GPRv" />
	<CPUID>RDSEED</CPUID>
	<header>immintrin.h</header>
	<category>Random</category>
	</intrinsic>
	<intrinsic name="_rdseed32_step" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="unsigned int *" varname="val" />
	<description>Read a 32-bit NIST SP800-90B and SP800-90C compliant random value and store in "val". Return 1 if a random value was generated, and 0 otherwise.</description>
	<operation>IF HW_NRND_GEN.ready == 1
	val[31:0] := HW_NRND_GEN.data
	dst := 1
ELSE
	val[31:0] := 0
	dst := 0
FI
	</operation>
	<instruction form="r32" name="RDSEED" xed="RDSEED_GPRv" />
	<CPUID>RDSEED</CPUID>
	<header>immintrin.h</header>
	<category>Random</category>
	</intrinsic>
	<intrinsic name="_rdseed64_step" tech="Other">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64 *" varname="val" />
	<description>Read a 64-bit NIST SP800-90B and SP800-90C compliant random value and store in "val". Return 1 if a random value was generated, and 0 otherwise.</description>
	<operation>IF HW_NRND_GEN.ready == 1
	val[63:0] := HW_NRND_GEN.data
	dst := 1
ELSE
	val[63:0] := 0
	dst := 0
FI
	</operation>
	<instruction form="r64" name="RDSEED" xed="RDSEED_GPRv" />
	<CPUID>RDSEED</CPUID>
	<header>immintrin.h</header>
	<category>Random</category>
	</intrinsic>
	
	
<intrinsic name="__rdtscp" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="unsigned int *" varname="mem_addr" />
	<description>Copy the current 64-bit value of the processor's time-stamp counter into "dst", and store the IA32_TSC_AUX MSR (signature value) into memory at "mem_addr".</description>
	<operation>dst[63:0] := TimeStampCounter
MEM[mem_addr+31:mem_addr] := IA32_TSC_AUX[31:0]
	</operation>
	<instruction name="RDTSCP" xed="RDTSCP" />
	<CPUID>RDTSCP</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_xabort" tech="Other">
	<return type="void" />
	<parameter etype="IMM" immwidth="8" type="const unsigned int" varname="imm8" />
	<description>Force an RTM abort. The EAX register is updated to reflect an XABORT instruction caused the abort, and the "imm8" parameter will be provided in bits [31:24] of EAX.
	Following an RTM abort, the logical processor resumes execution at the fallback address computed through the outermost XBEGIN instruction.</description>
	<operation>IF RTM_ACTIVE == 0
	// nop
ELSE
	// restore architectural register state
	// discard memory updates performed in transaction
	// update EAX with status and imm8 value
	eax[31:24] := imm8[7:0]
	RTM_NEST_COUNT := 0
	RTM_ACTIVE := 0
	IF _64_BIT_MODE
		RIP := fallbackRIP
	ELSE
		EIP := fallbackEIP
	FI
FI
	</operation>
	<instruction form="imm8" name="XABORT" xed="XABORT_IMMb" />
	<CPUID>RTM</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_xbegin" tech="Other">
	<return etype="UI32" type="unsigned int" varname="k" />
	<parameter type="void" />
	<description>Specify the start of an RTM code region. 
	If the logical processor was not already in transactional execution, then this call causes the logical processor to transition into transactional execution. 
	On an RTM abort, the logical processor discards all architectural register and memory updates performed during the RTM execution, restores architectural state, and starts execution beginning at the fallback address computed from the outermost XBEGIN instruction. Return status of ~0 (0xFFFF) if continuing inside transaction; all other codes are aborts.</description>
	<operation>IF RTM_NEST_COUNT &lt; MAX_RTM_NEST_COUNT
	RTM_NEST_COUNT := RTM_NEST_COUNT + 1
	IF RTM_NEST_COUNT == 1
		IF _64_BIT_MODE
			fallbackRIP := RIP
		ELSE IF _32_BIT_MODE
			fallbackEIP := EIP
		FI
		
		RTM_ACTIVE := 1
		// enter RTM execution, record register state, start tracking memory state
	FI
ELSE
	// RTM abort (see _xabort)
FI
	</operation>
	<instruction form="r32" name="XBEGIN" xed="XBEGIN_RELBRz" />
	<CPUID>RTM</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_xend" tech="Other">
	<return type="void" />
	<parameter type="void" />
	<description>Specify the end of an RTM code region.
	If this corresponds to the outermost scope, the logical processor will attempt to commit the logical processor state atomically. 
	If the commit fails, the logical processor will perform an RTM abort.</description>
	<operation>IF RTM_ACTIVE == 1
	RTM_NEST_COUNT := RTM_NEST_COUNT - 1
	IF RTM_NEST_COUNT == 0
		// try to commit transaction
		IF FAIL_TO_COMMIT_TRANSACTION
			// RTM abort (see _xabort)
		ELSE
			RTM_ACTIVE := 0
		FI
	FI
FI
	</operation>
	<instruction name="XEND" xed="XEND" />
	<CPUID>RTM</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_xtest" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter type="void" />
	<description>Query the transactional execution status, return 1 if inside a transactionally executing RTM or HLE region, and return 0 otherwise.</description>
	<operation>IF (RTM_ACTIVE == 1 OR HLE_ACTIVE == 1)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction name="XTEST" xed="XTEST" />
	<CPUID>RTM</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_serialize" tech="Other">
	<return type="void" />
	<description>Serialize instruction execution, ensuring all modifications to flags, registers, and memory by previous instructions are completed before the next instruction is fetched.</description>
	<instruction name="SERIALIZE" xed="SERIALIZE" />
	<CPUID>SERIALIZE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_mm_sha1msg1_epu32" tech="Other">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Perform an intermediate calculation for the next four SHA1 message values (unsigned 32-bit integers) using previous message values from "a" and "b", and store the result in "dst".</description>
	<operation>
W0 := a[127:96]
W1 := a[95:64]
W2 := a[63:32]
W3 := a[31:0]
W4 := b[127:96]
W5 := b[95:64]
dst[127:96] := W2 XOR W0
dst[95:64] := W3 XOR W1
dst[63:32] := W4 XOR W2
dst[31:0] := W5 XOR W3
	</operation>
	<instruction form="xmm, xmm" name="SHA1MSG1" xed="SHA1MSG1_XMMi32_XMMi32_SHA" />
	<CPUID>SHA</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_sha1msg2_epu32" tech="Other">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Perform the final calculation for the next four SHA1 message values (unsigned 32-bit integers) using the intermediate result in "a" and the previous message values in "b", and store the result in "dst".</description>
	<operation>
W13 := b[95:64]
W14 := b[63:32]
W15 := b[31:0]
W16 := (a[127:96] XOR W13) &lt;&lt;&lt; 1
W17 := (a[95:64] XOR W14) &lt;&lt;&lt; 1
W18 := (a[63:32] XOR W15) &lt;&lt;&lt; 1
W19 := (a[31:0] XOR W16) &lt;&lt;&lt; 1
dst[127:96] := W16
dst[95:64] := W17
dst[63:32] := W18
dst[31:0] := W19
	</operation>
	<instruction form="xmm, xmm" name="SHA1MSG2" xed="SHA1MSG2_XMMi32_XMMi32_SHA" />
	<CPUID>SHA</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_sha1nexte_epu32" tech="Other">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Calculate SHA1 state variable E after four rounds of operation from the current SHA1 state variable "a", add that value to the scheduled values (unsigned 32-bit integers) in "b", and store the result in "dst".</description>
	<operation>
tmp := (a[127:96] &lt;&lt;&lt; 30)
dst[127:96] := b[127:96] + tmp
dst[95:64] := b[95:64]
dst[63:32] := b[63:32]
dst[31:0] := b[31:0]
	</operation>
	<instruction form="xmm, xmm" name="SHA1NEXTE" xed="SHA1NEXTE_XMMi32_XMMi32_SHA" />
	<CPUID>SHA</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_sha1rnds4_epu32" tech="Other">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="func" />
	<description>Perform four rounds of SHA1 operation using an initial SHA1 state (A,B,C,D) from "a" and some pre-computed sum of the next 4 round message values (unsigned 32-bit integers), and state variable E from "b", and store the updated SHA1 state (A,B,C,D) in "dst". "func" contains the logic functions and round constants.</description>
	<operation>IF (func[1:0] == 0)
	f := f0()
	K := K0
ELSE IF (func[1:0] == 1)
	f := f1()
	K := K1
ELSE IF (func[1:0] == 2)
	f := f2()
	K := K2
ELSE IF (func[1:0] == 3)
	f := f3()
	K := K3
FI
A := a[127:96]
B := a[95:64]
C := a[63:32]
D := a[31:0]
W[0] := b[127:96]
W[1] := b[95:64]
W[2] := b[63:32]
W[3] := b[31:0]
A[1] := f(B, C, D) + (A &lt;&lt;&lt; 5) + W[0] + K
B[1] := A
C[1] := B &lt;&lt;&lt; 30
D[1] := C
E[1] := D
FOR i := 1 to 3
	A[i+1] := f(B[i], C[i], D[i]) + (A[i] &lt;&lt;&lt; 5) + W[i] + E[i] + K
	B[i+1] := A[i]
	C[i+1] := B[i] &lt;&lt;&lt; 30
	D[i+1] := C[i]
	E[i+1] := D[i]
ENDFOR
dst[127:96] := A[4]
dst[95:64] := B[4]
dst[63:32] := C[4]
dst[31:0] := D[4]
	</operation>
	<instruction form="xmm, xmm, imm8" name="SHA1RNDS4" xed="SHA1RNDS4_XMMi32_XMMi32_IMM8_SHA" />
	<CPUID>SHA</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_sha256msg1_epu32" tech="Other">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Perform an intermediate calculation for the next four SHA256 message values (unsigned 32-bit integers) using previous message values from "a" and "b", and store the result in "dst".</description>
	<operation>W4 := b[31:0]
W3 := a[127:96]
W2 := a[95:64]
W1 := a[63:32]
W0 := a[31:0]
dst[127:96] := W3 + sigma0(W4)
dst[95:64] := W2 + sigma0(W3)
dst[63:32] := W1 + sigma0(W2)
dst[31:0] := W0 + sigma0(W1)
	</operation>
	<instruction form="xmm, xmm" name="SHA256MSG1" xed="SHA256MSG1_XMMi32_XMMi32_SHA" />
	<CPUID>SHA</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_sha256msg2_epu32" tech="Other">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Perform the final calculation for the next four SHA256 message values (unsigned 32-bit integers) using previous message values from "a" and "b", and store the result in "dst"."</description>
	<operation>W14 := b[95:64]
W15 := b[127:96]
W16 := a[31:0] + sigma1(W14)
W17 := a[63:32] + sigma1(W15)
W18 := a[95:64] + sigma1(W16)
W19 := a[127:96] + sigma1(W17)
dst[127:96] := W19
dst[95:64] := W18
dst[63:32] := W17
dst[31:0] := W16
	</operation>
	<instruction form="xmm, xmm" name="SHA256MSG2" xed="SHA256MSG2_XMMi32_XMMi32_SHA" />
	<CPUID>SHA</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_sha256rnds2_epu32" tech="Other">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<parameter etype="UI32" type="__m128i" varname="k" />
	<description>Perform 2 rounds of SHA256 operation using an initial SHA256 state (C,D,G,H) from "a", an initial SHA256 state (A,B,E,F) from "b", and a pre-computed sum of the next 2 round message values (unsigned 32-bit integers) and the corresponding round constants from "k", and store the updated SHA256 state (A,B,E,F) in "dst".</description>
	<operation>A[0] := b[127:96]
B[0] := b[95:64]
C[0] := a[127:96]
D[0] := a[95:64]
E[0] := b[63:32]
F[0] := b[31:0]
G[0] := a[63:32]
H[0] := a[31:0]
W_K[0] := k[31:0]
W_K[1] := k[63:32]
FOR i := 0 to 1
	A[i+1] := Ch(E[i], F[i], G[i]) + sum1(E[i]) + W_K[i] + H[i] + Maj(A[i], B[i], C[i]) + sum0(A[i])
	B[i+1] := A[i]
	C[i+1] := B[i]
	D[i+1] := C[i]
	E[i+1] := Ch(E[i], F[i], G[i]) + sum1(E[i]) + W_K[i] + H[i] + D[i]
	F[i+1] := E[i]
	G[i+1] := F[i]
	H[i+1] := G[i]
ENDFOR
dst[127:96] := A[2]
dst[95:64] := B[2]
dst[63:32] := E[2]
dst[31:0] := F[2]
	</operation>
	<instruction form="xmm, xmm" name="SHA256RNDS2" xed="SHA256RNDS2_XMMi32_XMMi32_SHA" />
	<CPUID>SHA</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_sha512msg1_epi64" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="UI64" />
    <description>This intrinisc is one of the two SHA512 message scheduling instructions. The intrinsic performs an intermediate calculation for the next four SHA512 message qwords. The calculated results are stored in "dst".</description>
    <instruction name="VSHA512MSG1" form="ymm, xmm" xed="VSHA512MSG1_YMMu64_XMMu64" />
    <operation>
DEFINE ROR64(qword, n) {
	count := n % 64
	dest := (qword &gt;&gt; count) | (qword &lt;&lt; (64 - count))
	RETURN dest
}
DEFINE SHR64(qword, n) {
	RETURN qword &gt;&gt; n
}
DEFINE s0(qword) {
	RETURN ROR64(qword,1) ^ ROR64(qword, 8) ^ SHR64(qword, 7)
}
W.qword[4] := __B.qword[0]
W.qword[3] := __A.qword[3]
W.qword[2] := __A.qword[2]
W.qword[1] := __A.qword[1]
W.qword[0] := __A.qword[0]
dst.qword[3] := W.qword[3] + s0(W.qword[4])
dst.qword[2] := W.qword[2] + s0(W.qword[3])
dst.qword[1] := W.qword[1] + s0(W.qword[2])
dst.qword[0] := W.qword[0] + s0(W.qword[1])
</operation>
    <parameter type="__m256i" varname="__A" etype="UI64" />
    <parameter type="__m128i" varname="__B" etype="UI64" />
  <CPUID>SHA512</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
  <intrinsic name="_mm256_sha512msg2_epi64" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="UI64" />
    <description>This intrinisc is one of the two SHA512 message scheduling instructions. The intrinsic performs the final calculation for the next four SHA512 message qwords. The calculated results are stored in "dst".</description>
    <instruction name="VSHA512MSG2" form="ymm, ymm" xed="VSHA512MSG2_YMMu64_YMMu64" />
    <operation>
DEFINE ROR64(qword, n) {
	count := n % 64
	dest := (qword &gt;&gt; count) | (qword &lt;&lt; (64 - count))
	RETURN dest
}
DEFINE SHR64(qword, n) {
	RETURN qword &gt;&gt; n
}
DEFINE s1(qword) {
	RETURN ROR64(qword,19) ^ ROR64(qword, 61) ^ SHR64(qword, 6)
}
W.qword[14] := __B.qword[2]
W.qword[15] := __B.qword[3]
W.qword[16] := __A.qword[0] + s1(W.qword[14])
W.qword[17] := __A.qword[1] + s1(W.qword[15])
W.qword[18] := __A.qword[2] + s1(W.qword[16])
W.qword[19] := __A.qword[3] + s1(W.qword[17])
dst.qword[3] := W.qword[19]
dst.qword[2] := W.qword[18]
dst.qword[1] := W.qword[17]
dst.qword[0] := W.qword[16]
</operation>
    <parameter type="__m256i" varname="__A" etype="UI64" />
    <parameter type="__m256i" varname="__B" etype="UI64" />
  <CPUID>SHA512</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
  <intrinsic name="_mm256_sha512rnds2_epi64" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="UI64" />
    <description>This intrinisc performs two rounds of SHA512 operation using initial SHA512 state (C,D,G,H) from "__A", an initial SHA512 state (A,B,E,F) from "__B", and a pre-computed sum of the next two round message qwords and the corresponding round constants from "__C" (only the two lower qwords of the third operand). The updated SHA512 state (A,B,E,F) is written to "dst", and "dst" can be used as the updated state (C,D,G,H) in later rounds.</description>
    <instruction name="VSHA512RNDS2" form="ymm, ymm, xmm" xed="VSHA512RNDS2_YMMu64_YMMu64_XMMu64" />
    <operation>
DEFINE ROR64(qword, n) {
	count := n % 64
	dest := (qword &gt;&gt; count) | (qword &lt;&lt; (64 - count))
	RETURN dest
}
DEFINE SHR64(qword, n) {
	RETURN qword &gt;&gt; n
}
DEFINE cap_sigma0(qword) {
	RETURN ROR64(qword, 28) ^ ROR64(qword, 34) ^ ROR64(qword, 39)
}
DEFINE cap_sigma1(qword) {
	RETURN ROR64(qword, 14) ^ ROR64(qword, 18) ^ ROR64(qword, 41)
}
DEFINE MAJ(a,b,c) {
	RETURN (a &amp; b) ^ (a &amp; c) ^ (b &amp; c)
}
DEFINE CH(a,b,c) {
	RETURN (a &amp; b) ^ (c &amp; ~a)
}
A.qword[0] := __B.qword[3]
B.qword[0] := __B.qword[2]
C.qword[0] := __A.qword[3]
D.qword[0] := __A.qword[2]
E.qword[0] := __B.qword[1]
F.qword[0] := __B.qword[0]
G.qword[0] := __A.qword[1]
H.qword[0] := __A.qword[0]
WK.qword[0]:= __C.qword[0]
WK.qword[1]:= __C.qword[1]
FOR i := 0 to 1
	A.qword[i+1] := CH(E.qword[i], F.qword[i], G.qword[i]) + cap_sigma1(E.qword[i]) + WK.qword[i] + H.qword[i] + MAJ(A.qword[i], B.qword[i], C.qword[i]) + cap_sigma0(A.qword[i])
	B.qword[i+1] := A.qword[i]
	C.qword[i+1] := B.qword[i]
	D.qword[i+1] := C.qword[i]
	E.qword[i+1] := CH(E.qword[i], F.qword[i], G.qword[i]) + cap_sigma1(E.qword[i]) + WK.qword[i] + H.qword[i] + D.qword[i]
	F.qword[i+1] := E.qword[i]
	G.qword[i+1] := F.qword[i]
	H.qword[i+1] := G.qword[i]
ENDFOR
dst.qword[3] := A.qword[2]
dst.qword[2] := B.qword[2]
dst.qword[1] := E.qword[2]
dst.qword[0] := F.qword[2]
</operation>
    <parameter type="__m256i" varname="__A" etype="UI64" />
    <parameter type="__m256i" varname="__B" etype="UI64" />
    <parameter type="__m128i" varname="__C" etype="UI64" />
  <CPUID>SHA512</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
<intrinsic name="_mm_sm3msg1_epi32" tech="AVX_ALL">
    <return etype="UI32" type="__m128i" varname="dst" />
    <description>The VSM3MSG1 intrinsic is one of the two SM3 message scheduling intrinsics. The intrinsic performs an initial calculation for the next four SM3 message words. The calculated results are stored in "dst".</description>
    <instruction form="xmm, xmm, xmm" name="VSM3MSG1" xed="VSM3MSG1_XMMu32_XMMu32_XMMu32" />
    <operation>
DEFINE ROL32(dword, n) {
	count := n % 32
	dest := (dword &lt;&lt; count) | (dword &gt;&gt; (32 - count))
	RETURN dest
}
DEFINE P1(x) {
	RETURN x ^ ROL32(x, 15) ^ ROL32(x, 23)
}
W.dword[0] := __C.dword[0]
W.dword[1] := __C.dword[1]
W.dword[2] := __C.dword[2]
W.dword[3] := __C.dword[3]
W.dword[7] := __A.dword[0]
W.dword[8] := __A.dword[1]
W.dword[9] := __A.dword[2]
W.dword[10] := __A.dword[3]
W.dword[13] := __B.dword[0]
W.dword[14] := __B.dword[1]
W.dword[15] := __B.dword[2]
TMP0 := W.dword[7] ^ W.dword[0] ^ ROL32(W.dword[13], 15)
TMP1 := W.dword[8] ^ W.dword[1] ^ ROL32(W.dword[14], 15)
TMP2 := W.dword[9] ^ W.dword[2] ^ ROL32(W.dword[15], 15)
TMP3 := W.dword[10] ^ W.dword[3]
dst.dword[0] := P1(TMP0)
dst.dword[1] := P1(TMP1)
dst.dword[2] := P1(TMP2)
dst.dword[3] := P1(TMP3)
</operation>
    <parameter etype="UI32" type="__m128i" varname="__A" />
    <parameter etype="UI32" type="__m128i" varname="__B" />
    <parameter etype="UI32" type="__m128i" varname="__C" />
  <CPUID>SM3</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
  <intrinsic name="_mm_sm3msg2_epi32" tech="AVX_ALL">
    <return etype="UI32" type="__m128i" varname="dst" />
    <description>The VSM3MSG2 intrinsic is one of the two SM3 message scheduling intrinsics. The intrinsic performs the final calculation for the next four SM3 message words. The calculated results are stored in "dst".</description>
    <instruction form="xmm, xmm, xmm" name="VSM3MSG2" xed="VSM3MSG2_XMMu32_XMMu32_XMMu32" />
    <operation>
DEFINE ROL32(dword, n) {
	count := n % 32
	dest := (dword &lt;&lt; count) | (dword &gt;&gt; (32-count))
	RETURN dest
}
WTMP.dword[0] := __A.dword[0]
WTMP.dword[1] := __A.dword[1]
WTMP.dword[2] := __A.dword[2]
WTMP.dword[3] := __A.dword[3]
W.dword[3] := __B.dword[0]
W.dword[4] := __B.dword[1]
W.dword[5] := __B.dword[2]
W.dword[6] := __B.dword[3]
W.dword[10] := __C.dword[0]
W.dword[11] := __C.dword[1]
W.dword[12] := __C.dword[2]
W.dword[13] := __C.dword[3]
W.dword[16] := ROL32(W.dword[3], 7) ^ W.dword[10] ^ WTMP.dword[0]
W.dword[17] := ROL32(W.dword[4], 7) ^ W.dword[11] ^ WTMP.dword[1]
W.dword[18] := ROL32(W.dword[5], 7) ^ W.dword[12] ^ WTMP.dword[2]
W.dword[19] := ROL32(W.dword[6], 7) ^ W.dword[13] ^ WTMP.dword[3]
W.dword[19] := W.dword[19] ^ ROL32(W.dword[16], 6) ^ ROL32(W.dword[16], 15) ^ ROL32(W.dword[16], 30)
dst.dword[0] := W.dword[16]
dst.dword[1] := W.dword[17]
dst.dword[2] := W.dword[18]
dst.dword[3] := W.dword[19]
</operation>
    <parameter etype="UI32" type="__m128i" varname="__A" />
    <parameter etype="UI32" type="__m128i" varname="__B" />
    <parameter etype="UI32" type="__m128i" varname="__C" />
  <CPUID>SM3</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
  <intrinsic name="_mm_sm3rnds2_epi32" tech="AVX_ALL">
    <return etype="UI32" type="__m128i" varname="dst" />
    <description>The intrinsic performs two rounds of SM3 operation using initial SM3 state (C, D, G, H) from "__A", an initial SM3 states (A, B, E, F) from "__B" and a pre-computed words from the "__C". "__A" with initial SM3 state of (C, D, G, H) assumes input of non-rotated left variables from previous state. The updated SM3 state (A, B, E, F) is written to "__A". The "imm8" should contain the even round number for the first of the two rounds computed by this instruction. The computation masks the "imm8" value by ANDing it with 0x3E so that only even round numbers from 0 through 62 are used for this operation. The calculated results are stored in "dst".</description>
    <instruction form="xmm, xmm, xmm, imm8" name="VSM3RNDS2" xed="VSM3RNDS2_XMMu32_XMMu32_XMMu32_IMM8" />
    <operation>
DEFINE ROL32(dword, n) {
	count := n % 32
	dest := (dword &lt;&lt; count) | (dword &gt;&gt; (32-count))
	RETURN dest
}
DEFINE P0(x) {
	RETURN x ^ ROL32(x, 9) ^ ROL32(x, 17)
}
DEFINE FF(x, y, z, round) {
	IF round &lt; 16
		RETURN (x ^ y ^ z)
	ELSE
		RETURN (x &amp; y) | (x &amp; z) | (y &amp; z)
	FI
}
DEFINE GG(x, y, z, round){
	IF round &lt; 16
		RETURN (x ^ y ^ z)
	ELSE
		RETURN (x &amp; y) | (~x &amp; z)
	FI
}
A.dword[0] := __B.dword[3]
B.dword[0] := __B.dword[2]
C.dword[0] := __A.dword[3]
D.dword[0] := __A.dword[2]
E.dword[0] := __B.dword[1]
F.dword[0] := __B.dword[0]
G.dword[0] := __A.dword[1]
H.dword[0] := __A.dword[0]
W.dword[0] := __C.dword[0]
W.dword[1] := __C.dword[1]
W.dword[4] := __C.dword[2]
W.dword[5] := __C.dword[3]
C.dword[0] := ROL32(C.dword[0], 9)
D.dword[0] := ROL32(D.dword[0], 9)
G.dword[0] := ROL32(G.dword[0], 19)
H.dword[0] := ROL32(H.dword[0], 19)
ROUND := imm8 &amp; 0x3E
IF ROUND &lt; 16
	CONST.dword[0] := 0x79CC4519
ELSE
	CONST.dword[0] := 0x7A879D8A
FI
CONST.dword[0] := ROL32(CONST.dword[0], ROUND)
FOR i:= 0 to 1
	temp.dword[0] := ROL32(A.dword[i], 12) + E.dword[i] + CONST.dword[0]
	S1.dword[0] := ROL32(temp.dword[0], 7)
	S2.dword[0] := S1.dword[0] ^ ROL32(A.dword[i], 12)
	T1.dword[0] := FF(A.dword[i], B.dword[i], C.dword[i], ROUND) + D.dword[i] + S2.dword[0] + (W.dword[i] ^ W.dword[i+4])
	T2.dword[0] := GG(E.dword[i], F.dword[i], G.dword[i], ROUND) + H.dword[i] + S1.dword[0] + W.dword[i]
	D.dword[i+1] := C.dword[i]
	C.dword[i+1] := ROL32(B.dword[i], 9)
	B.dword[i+1] := A.dword[i]
	A.dword[i+1] := T1.dword[0]
	H.dword[i+1] := G.dword[i]
	G.dword[i+1] := ROL32(F.dword[i], 19)
	F.dword[i+1] := E.dword[i]
	E.dword[i+1] := P0(T2.dword[0])
	CONST.dword[0] := ROL32(CONST.dword[0], 1)
ENDFOR
dst.dword[3] := A.dword[2]
dst.dword[2] := B.dword[2]
dst.dword[1] := E.dword[2]
dst.dword[0] := F.dword[2]
</operation>
    <parameter etype="UI32" type="__m128i" varname="__A" />
    <parameter etype="UI32" type="__m128i" varname="__B" />
    <parameter etype="UI32" type="__m128i" varname="__C" />
    <parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
  <CPUID>SM3</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
<intrinsic name="_mm256_sm4key4_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="UI32" />
    <description>This intrinsic performs four rounds of SM4 key expansion. The intrinsic operates on independent 128-bit lanes. The calculated results are stored in "dst". </description>
    <instruction name="VSM4KEY4" form="ymm, ymm, ymm" xed="VSM4KEY4_YMMu32_YMMu32_YMMu32" />
    <operation>
BYTE sbox[256] = {
0xD6, 0x90, 0xE9, 0xFE, 0xCC, 0xE1, 0x3D, 0xB7, 0x16, 0xB6, 0x14, 0xC2, 0x28, 0xFB, 0x2C, 0x05,
0x2B, 0x67, 0x9A, 0x76, 0x2A, 0xBE, 0x04, 0xC3, 0xAA, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99,
0x9C, 0x42, 0x50, 0xF4, 0x91, 0xEF, 0x98, 0x7A, 0x33, 0x54, 0x0B, 0x43, 0xED, 0xCF, 0xAC, 0x62,
0xE4, 0xB3, 0x1C, 0xA9, 0xC9, 0x08, 0xE8, 0x95, 0x80, 0xDF, 0x94, 0xFA, 0x75, 0x8F, 0x3F, 0xA6,
0x47, 0x07, 0xA7, 0xFC, 0xF3, 0x73, 0x17, 0xBA, 0x83, 0x59, 0x3C, 0x19, 0xE6, 0x85, 0x4F, 0xA8,
0x68, 0x6B, 0x81, 0xB2, 0x71, 0x64, 0xDA, 0x8B, 0xF8, 0xEB, 0x0F, 0x4B, 0x70, 0x56, 0x9D, 0x35,
0x1E, 0x24, 0x0E, 0x5E, 0x63, 0x58, 0xD1, 0xA2, 0x25, 0x22, 0x7C, 0x3B, 0x01, 0x21, 0x78, 0x87,
0xD4, 0x00, 0x46, 0x57, 0x9F, 0xD3, 0x27, 0x52, 0x4C, 0x36, 0x02, 0xE7, 0xA0, 0xC4, 0xC8, 0x9E,
0xEA, 0xBF, 0x8A, 0xD2, 0x40, 0xC7, 0x38, 0xB5, 0xA3, 0xF7, 0xF2, 0xCE, 0xF9, 0x61, 0x15, 0xA1,
0xE0, 0xAE, 0x5D, 0xA4, 0x9B, 0x34, 0x1A, 0x55, 0xAD, 0x93, 0x32, 0x30, 0xF5, 0x8C, 0xB1, 0xE3,
0x1D, 0xF6, 0xE2, 0x2E, 0x82, 0x66, 0xCA, 0x60, 0xC0, 0x29, 0x23, 0xAB, 0x0D, 0x53, 0x4E, 0x6F,
0xD5, 0xDB, 0x37, 0x45, 0xDE, 0xFD, 0x8E, 0x2F, 0x03, 0xFF, 0x6A, 0x72, 0x6D, 0x6C, 0x5B, 0x51,
0x8D, 0x1B, 0xAF, 0x92, 0xBB, 0xDD, 0xBC, 0x7F, 0x11, 0xD9, 0x5C, 0x41, 0x1F, 0x10, 0x5A, 0xD8,
0x0A, 0xC1, 0x31, 0x88, 0xA5, 0xCD, 0x7B, 0xBD, 0x2D, 0x74, 0xD0, 0x12, 0xB8, 0xE5, 0xB4, 0xB0,
0x89, 0x69, 0x97, 0x4A, 0x0C, 0x96, 0x77, 0x7E, 0x65, 0xB9, 0xF1, 0x09, 0xC5, 0x6E, 0xC6, 0x84,
0x18, 0xF0, 0x7D, 0xEC, 0x3A, 0xDC, 0x4D, 0x20, 0x79, 0xEE, 0x5F, 0x3E, 0xD7, 0xCB, 0x39, 0x48
}
DEFINE ROL32(dword, n) {
	count := n % 32
	dest := (dword &lt;&lt; count) | (dword &gt;&gt; (32-count))
	RETURN dest
}
DEFINE SBOX_BYTE(dword, i) {
	RETURN sbox[dword.byte[i]]
}
DEFINE lower_t(dword) {
	tmp.byte[0] := SBOX_BYTE(dword, 0)
	tmp.byte[1] := SBOX_BYTE(dword, 1)
	tmp.byte[2] := SBOX_BYTE(dword, 2)
	tmp.byte[3] := SBOX_BYTE(dword, 3)
	RETURN tmp
}
DEFINE L_KEY(dword) {
	RETURN dword ^ ROL32(dword, 13) ^ ROL32(dword, 23)
}
DEFINE T_KEY(dword) {
	RETURN L_KEY(lower_t(dword))
}
DEFINE F_KEY(X0, X1, X2, X3, round_key) {
	RETURN X0 ^ T_KEY(X1 ^ X2 ^ X3 ^ round_key)
}
FOR i:= 0 to 1
	P.dword[0] := __A.dword[4*i]
	P.dword[1] := __A.dword[4*i+1]
	P.dword[2] := __A.dword[4*i+2]
	P.dword[3] := __A.dword[4*i+3]
	C.dword[0] := F_KEY(P.dword[0], P.dword[1], P.dword[2], P.dword[3], __B.dword[4*i])
	C.dword[1] := F_KEY(P.dword[1], P.dword[2], P.dword[3], C.dword[0], __B.dword[4*i+1])
	C.dword[2] := F_KEY(P.dword[2], P.dword[3], C.dword[0], C.dword[1], __B.dword[4*i+2])
	C.dword[3] := F_KEY(P.dword[3], C.dword[0], C.dword[1], C.dword[2], __B.dword[4*i+3])
	dst.dword[4*i] := C.dword[0]
	dst.dword[4*i+1] := C.dword[1]
	dst.dword[4*i+2] := C.dword[2]
	dst.dword[4*i+3] := C.dword[3]
ENDFOR
dst[MAX:256] := 0
</operation>
    <parameter type="__m256i" varname="__A" etype="UI32" />
    <parameter type="__m256i" varname="__B" etype="UI32" />
  <CPUID>SM4</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
  <intrinsic name="_mm256_sm4rnds4_epi32" tech="AVX_ALL">
    <return type="__m256i" varname="dst" etype="UI32" />
    <description>This intrinisc performs four rounds of SM4 encryption. The intrinisc operates on independent 128-bit lanes. The calculated results are stored in "dst". </description>
    <instruction name="VSM4RNDS4" form="ymm, ymm, ymm" xed="VSM4RNDS4_YMMu32_YMMu32_YMMu32" />
    <operation>BYTE sbox[256] = {
0xD6, 0x90, 0xE9, 0xFE, 0xCC, 0xE1, 0x3D, 0xB7, 0x16, 0xB6, 0x14, 0xC2, 0x28, 0xFB, 0x2C, 0x05,
0x2B, 0x67, 0x9A, 0x76, 0x2A, 0xBE, 0x04, 0xC3, 0xAA, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99,
0x9C, 0x42, 0x50, 0xF4, 0x91, 0xEF, 0x98, 0x7A, 0x33, 0x54, 0x0B, 0x43, 0xED, 0xCF, 0xAC, 0x62,
0xE4, 0xB3, 0x1C, 0xA9, 0xC9, 0x08, 0xE8, 0x95, 0x80, 0xDF, 0x94, 0xFA, 0x75, 0x8F, 0x3F, 0xA6,
0x47, 0x07, 0xA7, 0xFC, 0xF3, 0x73, 0x17, 0xBA, 0x83, 0x59, 0x3C, 0x19, 0xE6, 0x85, 0x4F, 0xA8,
0x68, 0x6B, 0x81, 0xB2, 0x71, 0x64, 0xDA, 0x8B, 0xF8, 0xEB, 0x0F, 0x4B, 0x70, 0x56, 0x9D, 0x35,
0x1E, 0x24, 0x0E, 0x5E, 0x63, 0x58, 0xD1, 0xA2, 0x25, 0x22, 0x7C, 0x3B, 0x01, 0x21, 0x78, 0x87,
0xD4, 0x00, 0x46, 0x57, 0x9F, 0xD3, 0x27, 0x52, 0x4C, 0x36, 0x02, 0xE7, 0xA0, 0xC4, 0xC8, 0x9E,
0xEA, 0xBF, 0x8A, 0xD2, 0x40, 0xC7, 0x38, 0xB5, 0xA3, 0xF7, 0xF2, 0xCE, 0xF9, 0x61, 0x15, 0xA1,
0xE0, 0xAE, 0x5D, 0xA4, 0x9B, 0x34, 0x1A, 0x55, 0xAD, 0x93, 0x32, 0x30, 0xF5, 0x8C, 0xB1, 0xE3,
0x1D, 0xF6, 0xE2, 0x2E, 0x82, 0x66, 0xCA, 0x60, 0xC0, 0x29, 0x23, 0xAB, 0x0D, 0x53, 0x4E, 0x6F,
0xD5, 0xDB, 0x37, 0x45, 0xDE, 0xFD, 0x8E, 0x2F, 0x03, 0xFF, 0x6A, 0x72, 0x6D, 0x6C, 0x5B, 0x51,
0x8D, 0x1B, 0xAF, 0x92, 0xBB, 0xDD, 0xBC, 0x7F, 0x11, 0xD9, 0x5C, 0x41, 0x1F, 0x10, 0x5A, 0xD8,
0x0A, 0xC1, 0x31, 0x88, 0xA5, 0xCD, 0x7B, 0xBD, 0x2D, 0x74, 0xD0, 0x12, 0xB8, 0xE5, 0xB4, 0xB0,
0x89, 0x69, 0x97, 0x4A, 0x0C, 0x96, 0x77, 0x7E, 0x65, 0xB9, 0xF1, 0x09, 0xC5, 0x6E, 0xC6, 0x84,
0x18, 0xF0, 0x7D, 0xEC, 0x3A, 0xDC, 0x4D, 0x20, 0x79, 0xEE, 0x5F, 0x3E, 0xD7, 0xCB, 0x39, 0x48
}
DEFINE ROL32(dword, n) {
	count := n % 32
	dest := (dword &lt;&lt; count) | (dword &gt;&gt; (32-count))
	RETURN dest
}
DEFINE SBOX_BYTE(dword, i) {
	RETURN sbox[dword.byte[i]]
}
DEFINE lower_t(dword) {
	tmp.byte[0] := SBOX_BYTE(dword, 0)
	tmp.byte[1] := SBOX_BYTE(dword, 1)
	tmp.byte[2] := SBOX_BYTE(dword, 2)
	tmp.byte[3] := SBOX_BYTE(dword, 3)
	RETURN tmp
}
DEFINE L_RND(dword) {
	tmp := dword
	tmp := tmp ^ ROL32(dword, 2)
	tmp := tmp ^ ROL32(dword, 10)
	tmp := tmp ^ ROL32(dword, 18)
	tmp := tmp ^ ROL32(dword, 24)
	RETURN tmp
}
DEFINE T_RND(dword) {
	RETURN L_RND(lower_t(dword))
}
DEFINE F_RND(X0, X1, X2, X3, round_key) {
	RETURN X0 ^ T_RND(X1 ^ X2 ^ X3 ^ round_key)
}
FOR i:= 0 to 1
	P.dword[0] := __A.dword[4*i]
	P.dword[1] := __A.dword[4*i+1]
	P.dword[2] := __A.dword[4*i+2]
	P.dword[3] := __A.dword[4*i+3]
	C.dword[0] := F_RND(P.dword[0], P.dword[1], P.dword[2], P.dword[3], __B.dword[4*i])
	C.dword[1] := F_RND(P.dword[1], P.dword[2], P.dword[3], C.dword[0], __B.dword[4*i+1])
	C.dword[2] := F_RND(P.dword[2], P.dword[3], C.dword[0], C.dword[1], __B.dword[4*i+2])
	C.dword[3] := F_RND(P.dword[3], C.dword[0], C.dword[1], C.dword[2], __B.dword[4*i+3])
	dst.dword[4*i] := C.dword[0]
	dst.dword[4*i+1] := C.dword[1]
	dst.dword[4*i+2] := C.dword[2]
	dst.dword[4*i+3] := C.dword[3]
ENDFOR
dst[MAX:256] := 0
</operation>
    <parameter type="__m256i" varname="__A" etype="UI32" />
    <parameter type="__m256i" varname="__B" etype="UI32" />
  <CPUID>SM4</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
  <intrinsic name="_mm_sm4key4_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="UI32" />
    <description>This intrinsic performs four rounds of SM4 key expansion. The intrinsic operates on independent 128-bit lanes. The calculated results are stored in "dst". </description>
    <instruction name="VSM4KEY4" form="xmm, xmm, xmm" xed="VSM4KEY4_XMMu32_XMMu32_XMMu32" />
    <operation>
BYTE sbox[256] = {
0xD6, 0x90, 0xE9, 0xFE, 0xCC, 0xE1, 0x3D, 0xB7, 0x16, 0xB6, 0x14, 0xC2, 0x28, 0xFB, 0x2C, 0x05,
0x2B, 0x67, 0x9A, 0x76, 0x2A, 0xBE, 0x04, 0xC3, 0xAA, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99,
0x9C, 0x42, 0x50, 0xF4, 0x91, 0xEF, 0x98, 0x7A, 0x33, 0x54, 0x0B, 0x43, 0xED, 0xCF, 0xAC, 0x62,
0xE4, 0xB3, 0x1C, 0xA9, 0xC9, 0x08, 0xE8, 0x95, 0x80, 0xDF, 0x94, 0xFA, 0x75, 0x8F, 0x3F, 0xA6,
0x47, 0x07, 0xA7, 0xFC, 0xF3, 0x73, 0x17, 0xBA, 0x83, 0x59, 0x3C, 0x19, 0xE6, 0x85, 0x4F, 0xA8,
0x68, 0x6B, 0x81, 0xB2, 0x71, 0x64, 0xDA, 0x8B, 0xF8, 0xEB, 0x0F, 0x4B, 0x70, 0x56, 0x9D, 0x35,
0x1E, 0x24, 0x0E, 0x5E, 0x63, 0x58, 0xD1, 0xA2, 0x25, 0x22, 0x7C, 0x3B, 0x01, 0x21, 0x78, 0x87,
0xD4, 0x00, 0x46, 0x57, 0x9F, 0xD3, 0x27, 0x52, 0x4C, 0x36, 0x02, 0xE7, 0xA0, 0xC4, 0xC8, 0x9E,
0xEA, 0xBF, 0x8A, 0xD2, 0x40, 0xC7, 0x38, 0xB5, 0xA3, 0xF7, 0xF2, 0xCE, 0xF9, 0x61, 0x15, 0xA1,
0xE0, 0xAE, 0x5D, 0xA4, 0x9B, 0x34, 0x1A, 0x55, 0xAD, 0x93, 0x32, 0x30, 0xF5, 0x8C, 0xB1, 0xE3,
0x1D, 0xF6, 0xE2, 0x2E, 0x82, 0x66, 0xCA, 0x60, 0xC0, 0x29, 0x23, 0xAB, 0x0D, 0x53, 0x4E, 0x6F,
0xD5, 0xDB, 0x37, 0x45, 0xDE, 0xFD, 0x8E, 0x2F, 0x03, 0xFF, 0x6A, 0x72, 0x6D, 0x6C, 0x5B, 0x51,
0x8D, 0x1B, 0xAF, 0x92, 0xBB, 0xDD, 0xBC, 0x7F, 0x11, 0xD9, 0x5C, 0x41, 0x1F, 0x10, 0x5A, 0xD8,
0x0A, 0xC1, 0x31, 0x88, 0xA5, 0xCD, 0x7B, 0xBD, 0x2D, 0x74, 0xD0, 0x12, 0xB8, 0xE5, 0xB4, 0xB0,
0x89, 0x69, 0x97, 0x4A, 0x0C, 0x96, 0x77, 0x7E, 0x65, 0xB9, 0xF1, 0x09, 0xC5, 0x6E, 0xC6, 0x84,
0x18, 0xF0, 0x7D, 0xEC, 0x3A, 0xDC, 0x4D, 0x20, 0x79, 0xEE, 0x5F, 0x3E, 0xD7, 0xCB, 0x39, 0x48
}
DEFINE ROL32(dword, n) {
	count := n % 32
	dest := (dword &lt;&lt; count) | (dword &gt;&gt; (32-count))
	RETURN dest
}
DEFINE SBOX_BYTE(dword, i) {
	RETURN sbox[dword.byte[i]]
}
DEFINE lower_t(dword) {
	tmp.byte[0] := SBOX_BYTE(dword, 0)
	tmp.byte[1] := SBOX_BYTE(dword, 1)
	tmp.byte[2] := SBOX_BYTE(dword, 2)
	tmp.byte[3] := SBOX_BYTE(dword, 3)
	RETURN tmp
}
DEFINE L_KEY(dword) {
	RETURN dword ^ ROL32(dword, 13) ^ ROL32(dword, 23)
}
DEFINE T_KEY(dword) {
	RETURN L_KEY(lower_t(dword))
}
DEFINE F_KEY(X0, X1, X2, X3, round_key) {
	RETURN X0 ^ T_KEY(X1 ^ X2 ^ X3 ^ round_key)
}
P.dword[0] := __A.dword[0]
P.dword[1] := __A.dword[1]
P.dword[2] := __A.dword[2]
P.dword[3] := __A.dword[3]
C.dword[0] := F_KEY(P.dword[0], P.dword[1], P.dword[2], P.dword[3], __B.dword[0])
C.dword[1] := F_KEY(P.dword[1], P.dword[2], P.dword[3], C.dword[0], __B.dword[1])
C.dword[2] := F_KEY(P.dword[2], P.dword[3], C.dword[0], C.dword[1], __B.dword[2])
C.dword[3] := F_KEY(P.dword[3], C.dword[0], C.dword[1], C.dword[2], __B.dword[3])
dst.dword[0] := C.dword[0]
dst.dword[1] := C.dword[1]
dst.dword[2] := C.dword[2]
dst.dword[3] := C.dword[3]
dst[MAX:128] := 0
</operation>
    <parameter type="__m128i" varname="__A" etype="UI32" />
    <parameter type="__m128i" varname="__B" etype="UI32" />
  <CPUID>SM4</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
  <intrinsic name="_mm_sm4rnds4_epi32" tech="AVX_ALL">
    <return type="__m128i" varname="dst" etype="UI32" />
    <description>This intrinisc performs four rounds of SM4 encryption. The intrinisc operates on independent 128-bit lanes. The calculated results are stored in "dst". </description>
    <instruction name="VSM4RNDS4" form="xmm, xmm, xmm" xed="VSM4RNDS4_XMMu32_XMMu32_XMMu32" />
    <operation>
BYTE sbox[256] = {
0xD6, 0x90, 0xE9, 0xFE, 0xCC, 0xE1, 0x3D, 0xB7, 0x16, 0xB6, 0x14, 0xC2, 0x28, 0xFB, 0x2C, 0x05,
0x2B, 0x67, 0x9A, 0x76, 0x2A, 0xBE, 0x04, 0xC3, 0xAA, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99,
0x9C, 0x42, 0x50, 0xF4, 0x91, 0xEF, 0x98, 0x7A, 0x33, 0x54, 0x0B, 0x43, 0xED, 0xCF, 0xAC, 0x62,
0xE4, 0xB3, 0x1C, 0xA9, 0xC9, 0x08, 0xE8, 0x95, 0x80, 0xDF, 0x94, 0xFA, 0x75, 0x8F, 0x3F, 0xA6,
0x47, 0x07, 0xA7, 0xFC, 0xF3, 0x73, 0x17, 0xBA, 0x83, 0x59, 0x3C, 0x19, 0xE6, 0x85, 0x4F, 0xA8,
0x68, 0x6B, 0x81, 0xB2, 0x71, 0x64, 0xDA, 0x8B, 0xF8, 0xEB, 0x0F, 0x4B, 0x70, 0x56, 0x9D, 0x35,
0x1E, 0x24, 0x0E, 0x5E, 0x63, 0x58, 0xD1, 0xA2, 0x25, 0x22, 0x7C, 0x3B, 0x01, 0x21, 0x78, 0x87,
0xD4, 0x00, 0x46, 0x57, 0x9F, 0xD3, 0x27, 0x52, 0x4C, 0x36, 0x02, 0xE7, 0xA0, 0xC4, 0xC8, 0x9E,
0xEA, 0xBF, 0x8A, 0xD2, 0x40, 0xC7, 0x38, 0xB5, 0xA3, 0xF7, 0xF2, 0xCE, 0xF9, 0x61, 0x15, 0xA1,
0xE0, 0xAE, 0x5D, 0xA4, 0x9B, 0x34, 0x1A, 0x55, 0xAD, 0x93, 0x32, 0x30, 0xF5, 0x8C, 0xB1, 0xE3,
0x1D, 0xF6, 0xE2, 0x2E, 0x82, 0x66, 0xCA, 0x60, 0xC0, 0x29, 0x23, 0xAB, 0x0D, 0x53, 0x4E, 0x6F,
0xD5, 0xDB, 0x37, 0x45, 0xDE, 0xFD, 0x8E, 0x2F, 0x03, 0xFF, 0x6A, 0x72, 0x6D, 0x6C, 0x5B, 0x51,
0x8D, 0x1B, 0xAF, 0x92, 0xBB, 0xDD, 0xBC, 0x7F, 0x11, 0xD9, 0x5C, 0x41, 0x1F, 0x10, 0x5A, 0xD8,
0x0A, 0xC1, 0x31, 0x88, 0xA5, 0xCD, 0x7B, 0xBD, 0x2D, 0x74, 0xD0, 0x12, 0xB8, 0xE5, 0xB4, 0xB0,
0x89, 0x69, 0x97, 0x4A, 0x0C, 0x96, 0x77, 0x7E, 0x65, 0xB9, 0xF1, 0x09, 0xC5, 0x6E, 0xC6, 0x84,
0x18, 0xF0, 0x7D, 0xEC, 0x3A, 0xDC, 0x4D, 0x20, 0x79, 0xEE, 0x5F, 0x3E, 0xD7, 0xCB, 0x39, 0x48
}
DEFINE ROL32(dword, n) {
	count := n % 32
	dest := (dword &lt;&lt; count) | (dword &gt;&gt; (32-count))
	RETURN dest
}
DEFINE SBOX_BYTE(dword, i) {
	RETURN sbox[dword.byte[i]]
}
DEFINE lower_t(dword) {
	tmp.byte[0] := SBOX_BYTE(dword, 0)
	tmp.byte[1] := SBOX_BYTE(dword, 1)
	tmp.byte[2] := SBOX_BYTE(dword, 2)
	tmp.byte[3] := SBOX_BYTE(dword, 3)
	RETURN tmp
}
DEFINE L_RND(dword) {
	tmp := dword
	tmp := tmp ^ ROL32(dword, 2)
	tmp := tmp ^ ROL32(dword, 10)
	tmp := tmp ^ ROL32(dword, 18)
	tmp := tmp ^ ROL32(dword, 24)
	RETURN tmp
}
DEFINE T_RND(dword) {
	RETURN L_RND(lower_t(dword))
}
DEFINE F_RND(X0, X1, X2, X3, round_key) {
	RETURN X0 ^ T_RND(X1 ^ X2 ^ X3 ^ round_key)
}
P.dword[0] := __A.dword[0]
P.dword[1] := __A.dword[1]
P.dword[2] := __A.dword[2]
P.dword[3] := __A.dword[3]
C.dword[0] := F_RND(P.dword[0], P.dword[1], P.dword[2], P.dword[3], __B.dword[0])
C.dword[1] := F_RND(P.dword[1], P.dword[2], P.dword[3], C.dword[0], __B.dword[1])
C.dword[2] := F_RND(P.dword[2], P.dword[3], C.dword[0], C.dword[1], __B.dword[2])
C.dword[3] := F_RND(P.dword[3], C.dword[0], C.dword[1], C.dword[2], __B.dword[3])
dst.dword[0] := C.dword[0]
dst.dword[1] := C.dword[1]
dst.dword[2] := C.dword[2]
dst.dword[3] := C.dword[3]
dst[MAX:128] := 0
</operation>
    <parameter type="__m128i" varname="__A" etype="UI32" />
    <parameter type="__m128i" varname="__B" etype="UI32" />
  <CPUID>SM4</CPUID>
  <CPUID>AVX</CPUID>
	<header>immintrin.h</header>
  <category>Cryptography</category>
  </intrinsic>
<intrinsic name="_mm_acos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ACOS(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_acos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ACOS(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_acosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ACOSH(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_acosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ACOSH(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_asin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ASIN(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_asin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ASIN(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_asinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ASINH(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_asinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ASINH(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_atan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ATAN(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_atan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ATAN(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_atan2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the inverse tangent of packed double-precision (64-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ATAN2(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_atan2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the inverse tangent of packed single-precision (32-bit) floating-point elements in "a" divided by packed elements in "b", and store the results in "dst" expressed in radians.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ATAN2(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_atanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ATANH(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_atanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse hyperbolic tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ATANH(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_cos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := COS(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_cos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := COS(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_cosd_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := COSD(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_cosd_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := COSD(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_cosh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the hyperbolic cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := COSH(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_cosh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the hyperbolic cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := COSH(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_hypot_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SQRT(POW(a[i+63:i], 2.0) + POW(b[i+63:i], 2.0))
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_hypot_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the length of the hypotenous of a right triangle, with the lengths of the other two sides of the triangle stored as packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SQRT(POW(a[i+31:i], 2.0) + POW(b[i+31:i], 2.0))
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sin_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SIN(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sin_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SIN(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sincos_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="128" type="__m128d *" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the sine and cosine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SIN(a[i+63:i])
	MEM[mem_addr+i+63:mem_addr+i] := COS(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sincos_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="128" type="__m128 *" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the sine and cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", and store the cosine into memory at "mem_addr".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SIN(a[i+31:i])
	MEM[mem_addr+i+31:mem_addr+i] := COS(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sind_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the sine of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SIND(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sind_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the sine of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SIND(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sinh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the hyperbolic sine of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SINH(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_sinh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the hyperbolic sine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SINH(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_tan_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := TAN(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_tan_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := TAN(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_tand_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := TAND(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_tand_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in degrees, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := TAND(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_tanh_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the hyperbolic tangent of packed double-precision (64-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := TANH(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_tanh_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the hyperbolic tangent of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := TANH(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Trigonometry</category>
	</intrinsic>
	<intrinsic name="_mm_cbrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the cube root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := CubeRoot(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_cbrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the cube root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := CubeRoot(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_cexp_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed complex numbers in "a", and store the complex results in "dst". Each complex number is composed of two adjacent single-precision (32-bit) floating-point elements, which defines the complex number "complex = vec.fp32[0] + i * vec.fp32[1]".</description>
	<operation>
DEFINE CEXP(a[31:0], b[31:0]) {
	result[31:0]  := POW(FP32(e), a[31:0]) * COS(b[31:0])
	result[63:32] := POW(FP32(e), a[31:0]) * SIN(b[31:0])
	RETURN result
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := CEXP(a[i+31:i], a[i+63:i+32])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_clog_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the natural logarithm of packed complex numbers in "a", and store the complex results in "dst". Each complex number is composed of two adjacent single-precision (32-bit) floating-point elements, which defines the complex number "complex = vec.fp32[0] + i * vec.fp32[1]".</description>
	<operation>
DEFINE CLOG(a[31:0], b[31:0]) {
	result[31:0]  := LOG(SQRT(POW(a, 2.0) + POW(b, 2.0)))
	result[63:32] := ATAN2(b, a)
	RETURN result
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := CLOG(a[i+31:i], a[i+63:i+32])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_csqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the square root of packed complex snumbers in "a", and store the complex results in "dst". Each complex number is composed of two adjacent single-precision (32-bit) floating-point elements, which defines the complex number "complex = vec.fp32[0] + i * vec.fp32[1]".</description>
	<operation>
DEFINE CSQRT(a[31:0], b[31:0]) {
	sign[31:0] := (b &lt; 0.0) ? -FP32(1.0) : FP32(1.0)
	result[31:0]  := SQRT((a + SQRT(POW(a, 2.0) + POW(b, 2.0))) / 2.0)
	result[63:32] := sign * SQRT((-a + SQRT(POW(a, 2.0) + POW(b, 2.0))) / 2.0)
	RETURN result
}
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := CSQRT(a[i+31:i], a[i+63:i+32])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_exp_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := POW(e, a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_exp_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := POW(FP32(e), a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_exp10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := POW(10.0, a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_exp10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the exponential value of 10 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := POW(FP32(10.0), a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_exp2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := POW(2.0, a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_exp2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the exponential value of 2 raised to the power of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := POW(FP32(2.0), a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_expm1_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed double-precision (64-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := POW(e, a[i+63:i]) - 1.0
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_expm1_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the exponential value of "e" raised to the power of packed single-precision (32-bit) floating-point elements in "a", subtract one from each element, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := POW(FP32(e), a[i+31:i]) - 1.0
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_invcbrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse cube root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := InvCubeRoot(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_invcbrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse cube root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := InvCubeRoot(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_invsqrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := InvSQRT(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_invsqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := InvSQRT(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the natural logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the natural logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log10_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the base-10 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i]) / LOG(10.0)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log10_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the base-10 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i]) / LOG(10.0)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log1p_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the natural logarithm of one plus packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := LOG(1.0 + a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log1p_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the natural logarithm of one plus packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := LOG(1.0 + a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log2_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the base-2 logarithm of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := LOG(a[i+63:i]) / LOG(2.0)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_log2_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the base-2 logarithm of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := LOG(a[i+31:i]) / LOG(2.0)
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_logb_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the exponent of each packed double-precision (64-bit) floating-point element in "a" to a double-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ConvertExpFP64(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_logb_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the exponent of each packed single-precision (32-bit) floating-point element in "a" to a single-precision floating-point number representing the integer exponent, and store the results in "dst". This intrinsic essentially calculates "floor(log2(x))" for each element.</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ConvertExpFP32(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_pow_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the exponential value of packed double-precision (64-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := POW(a[i+63:i], b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_pow_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the exponential value of packed single-precision (32-bit) floating-point elements in "a" raised by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := POW(a[i+31:i], b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_svml_sqrt_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst". Note that this intrinsic is less efficient than "_mm_sqrt_pd".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SQRT(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_svml_sqrt_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". Note that this intrinsic is less efficient than "_mm_sqrt_ps".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SQRT(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_cdfnorm_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := CDFNormal(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_cdfnorm_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := CDFNormal(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_cdfnorminv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed double-precision (64-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := InverseCDFNormal(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_cdfnorminv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse cumulative distribution function of packed single-precision (32-bit) floating-point elements in "a" using the normal distribution, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := InverseCDFNormal(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_erf_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ERF(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_erfc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := 1.0 - ERF(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_erfc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+63:i] := 1.0 - ERF(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_erfcinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse complementary error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+63:i]))
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_erfcinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse complementary error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+63:i] := 1.0 / (1.0 - ERF(a[i+31:i]))
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_erfinv_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the inverse error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := 1.0 / ERF(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_erfinv_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the inverse error function of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+63:i] := 1.0 / ERF(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_div_epi8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Divide packed signed 8-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 8*j
	IF b[i+7:i] == 0
		#DE
	FI
	dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_epi16" sequence="TRUE" tech="SVML">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Divide packed signed 16-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	IF b[i+15:i] == 0
		#DE
	FI
	dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_epi32" sequence="TRUE" tech="SVML">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF b[i+31:i] == 0
		#DE
	FI
	dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_epi64" sequence="TRUE" tech="SVML">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Divide packed signed 64-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	IF b[i+63:i] == 0
		#DE
	FI
	dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_epu8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Divide packed unsigned 8-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := 8*j
	IF b[i+7:i] == 0
		#DE
	FI
	dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_epu16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Divide packed unsigned 16-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := 16*j
	IF b[i+15:i] == 0
		#DE
	FI
	dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	IF b[i+31:i] == 0
		#DE
	FI
	dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_epu64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Divide packed unsigned 64-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	IF b[i+63:i] == 0
		#DE
	FI
	dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_erf_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the error function of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ERF(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_idiv_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_idivrem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" memwidth="128" type="__m128i *" varname="mem_addr" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", store the truncated results in "dst", and store the remainders as packed 32-bit integers into memory at "mem_addr".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
	MEM[mem_addr+i+31:mem_addr+i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_irem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epi8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Divide packed 8-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 15
	i := 8*j
	dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epi16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Divide packed 16-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 16*j
	dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed 32-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epi64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Divide packed 64-bit integers in "a" by packed elements in "b", and store the remainders as packed 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 1
	i := 64*j
	dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epu8" sequence="TRUE" tech="SVML">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Divide packed unsigned 8-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 15
	i := 8*j
	dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epu16" sequence="TRUE" tech="SVML">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Divide packed unsigned 16-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 7
	i := 16*j
	dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epu32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_rem_epu64" sequence="TRUE" tech="SVML">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Divide packed unsigned 64-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 1
	i := 64*j
	dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_udiv_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the truncated results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_udivrem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" memwidth="128" type="__m128i *" varname="mem_addr" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", store the truncated results in "dst", and store the remainders as packed unsigned 32-bit integers into memory at "mem_addr".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := TRUNCATE(a[i+31:i] / b[i+31:i])
	MEM[mem_addr+i+31:mem_addr+i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_urem_epi32" sequence="TRUE" tech="SVML">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Divide packed unsigned 32-bit integers in "a" by packed elements in "b", and store the remainders as packed unsigned 32-bit integers in "dst".</description>
	<operation>FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_svml_ceil_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" up to an integer value, and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := CEIL(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_svml_ceil_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" up to an integer value, and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := CEIL(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_svml_floor_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" down to an integer value, and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := FLOOR(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_svml_floor_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" down to an integer value, and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := FLOOR(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_svml_round_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ROUND(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_svml_round_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" to the nearest integer value, and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ROUND(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_trunc_pd" sequence="TRUE" tech="SVML">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Truncate the packed double-precision (64-bit) floating-point elements in "a", and store the results as packed double-precision floating-point elements in "dst". This intrinsic may generate the "roundpd"/"vroundpd" instruction.</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := TRUNCATE(a[i+63:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_trunc_ps" sequence="TRUE" tech="SVML">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Truncate the packed single-precision (32-bit) floating-point elements in "a", and store the results as packed single-precision floating-point elements in "dst". This intrinsic may generate the "roundps"/"vroundps" instruction.</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := TRUNCATE(a[i+31:i])
ENDFOR
dst[MAX:128] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
	
<intrinsic name="_MM_TRANSPOSE4_PS" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" type="__m128" varname="row0" />
	<parameter etype="FP32" type="__m128" varname="row1" />
	<parameter etype="FP32" type="__m128" varname="row2" />
	<parameter etype="FP32" type="__m128" varname="row3" />
	<description>Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision (32-bit) floating-point elements in "row0", "row1", "row2", and "row3", and store the transposed matrix in these vectors ("row0" now contains column 0, etc.).</description>
	<operation>
__m128 tmp3, tmp2, tmp1, tmp0;
tmp0 := _mm_unpacklo_ps(row0, row1);
tmp2 := _mm_unpacklo_ps(row2, row3);
tmp1 := _mm_unpackhi_ps(row0, row1);
tmp3 := _mm_unpackhi_ps(row2, row3);
row0 := _mm_movelh_ps(tmp0, tmp2);
row1 := _mm_movehl_ps(tmp2, tmp0);
row2 := _mm_movelh_ps(tmp1, tmp3);
row3 := _mm_movehl_ps(tmp3, tmp1);
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_extract_pi16" tech="SSE_ALL">
	<return etype="UI16" type="int" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract a 16-bit integer from "a", selected with "imm8", and store the result in the lower element of "dst".</description>
	<operation>
dst[15:0] := (a[63:0] &gt;&gt; (imm8[1:0] * 16))[15:0]
dst[31:16] := 0
	</operation>
	<instruction form="r32, mm, imm8" name="PEXTRW" xed="PEXTRW_GPR32_MMXq_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_pextrw" tech="SSE_ALL">
	<return etype="UI16" type="int" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Extract a 16-bit integer from "a", selected with "imm8", and store the result in the lower element of "dst".</description>
	<operation>
dst[15:0] := (a[63:0] &gt;&gt; (imm8[1:0] * 16))[15:0]
dst[31:16] := 0
	</operation>
	<instruction form="r32, mm, imm8" name="PEXTRW" xed="PEXTRW_GPR32_MMXq_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_insert_pi16" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="int" varname="i" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "dst", and insert the 16-bit integer "i" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[63:0] := a[63:0]
sel := imm8[1:0]*16
dst[sel+15:sel] := i[15:0]
	</operation>
	<instruction form="mm, r32, imm8" name="PINSRW" xed="PINSRW_MMXq_GPR32_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_pinsrw" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="int" varname="i" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Copy "a" to "dst", and insert the 16-bit integer "i" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[63:0] := a[63:0]
sel := imm8[1:0]*16
dst[sel+15:sel] := i[15:0]
	</operation>
	<instruction form="mm, r32, imm8" name="PINSRW" xed="PINSRW_MMXq_GPR32_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_shuffle_pi16" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in "a" using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[15:0] := src[15:0]
	1:	tmp[15:0] := src[31:16]
	2:	tmp[15:0] := src[47:32]
	3:	tmp[15:0] := src[63:48]
	ESAC
	RETURN tmp[15:0]
}
dst[15:0] := SELECT4(a[63:0], imm8[1:0])
dst[31:16] := SELECT4(a[63:0], imm8[3:2])
dst[47:32] := SELECT4(a[63:0], imm8[5:4])
dst[63:48] := SELECT4(a[63:0], imm8[7:6])
	</operation>
	<instruction form="mm, mm, imm8" name="PSHUFW" xed="PSHUFW_MMXq_MMXq_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_m_pshufw" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in "a" using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[15:0] := src[15:0]
	1:	tmp[15:0] := src[31:16]
	2:	tmp[15:0] := src[47:32]
	3:	tmp[15:0] := src[63:48]
	ESAC
	RETURN tmp[15:0]
}
dst[15:0] := SELECT4(a[63:0], imm8[1:0])
dst[31:16] := SELECT4(a[63:0], imm8[3:2])
dst[47:32] := SELECT4(a[63:0], imm8[5:4])
dst[63:48] := SELECT4(a[63:0], imm8[7:6])
	</operation>
	<instruction form="mm, mm, imm8" name="PSHUFW" xed="PSHUFW_MMXq_MMXq_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_shuffle_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="8" type="unsigned int" varname="imm8" />
	<description>Shuffle single-precision (32-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(b[127:0], imm8[5:4])
dst[127:96] := SELECT4(b[127:0], imm8[7:6])
	</operation>
	<instruction form="xmm, xmm, imm8" name="SHUFPS" xed="SHUFPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the high half "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="UNPCKHPS" xed="UNPCKHPS_XMMps_XMMdq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Unpack and interleave single-precision (32-bit) floating-point elements from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="UNPCKLPS" xed="UNPCKLPS_XMMps_XMMq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_getcsr" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter type="void" />
	<description>Get the unsigned 32-bit value of the MXCSR control and status register.</description>
	<operation>dst[31:0] := MXCSR
	</operation>
	<instruction form="m32" name="STMXCSR" xed="STMXCSR_MEMd" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_setcsr" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Set the MXCSR control and status register with the value in unsigned 32-bit integer "a".</description>
	<operation>
MXCSR := a[31:0]
	</operation>
	<instruction form="m32" name="LDMXCSR" xed="LDMXCSR_MEMd" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_GET_EXCEPTION_STATE" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<description>Macro: Get the exception state bits from the MXCSR control and status register. The exception state may contain any of the following flags: _MM_EXCEPT_INVALID, _MM_EXCEPT_DIV_ZERO, _MM_EXCEPT_DENORM, _MM_EXCEPT_OVERFLOW, _MM_EXCEPT_UNDERFLOW, _MM_EXCEPT_INEXACT</description>
	<operation>dst[31:0] := MXCSR &amp; _MM_EXCEPT_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_SET_EXCEPTION_STATE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Macro: Set the exception state bits of the MXCSR control and status register to the value in unsigned 32-bit integer "a". The exception state may contain any of the following flags: _MM_EXCEPT_INVALID, _MM_EXCEPT_DIV_ZERO, _MM_EXCEPT_DENORM, _MM_EXCEPT_OVERFLOW, _MM_EXCEPT_UNDERFLOW, _MM_EXCEPT_INEXACT</description>
	<operation>MXCSR := a[31:0] AND ~_MM_EXCEPT_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_GET_EXCEPTION_MASK" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<description>Macro: Get the exception mask bits from the MXCSR control and status register. The exception mask may contain any of the following flags: _MM_MASK_INVALID, _MM_MASK_DIV_ZERO, _MM_MASK_DENORM, _MM_MASK_OVERFLOW, _MM_MASK_UNDERFLOW, _MM_MASK_INEXACT</description>
	<operation>dst[31:0] := MXCSR &amp; _MM_MASK_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_SET_EXCEPTION_MASK" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Macro: Set the exception mask bits of the MXCSR control and status register to the value in unsigned 32-bit integer "a". The exception mask may contain any of the following flags: _MM_MASK_INVALID, _MM_MASK_DIV_ZERO, _MM_MASK_DENORM, _MM_MASK_OVERFLOW, _MM_MASK_UNDERFLOW, _MM_MASK_INEXACT</description>
	<operation>MXCSR := a[31:0] AND ~_MM_MASK_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_GET_ROUNDING_MODE" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<description>Macro: Get the rounding mode bits from the MXCSR control and status register. The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO</description>
	<operation>dst[31:0] := MXCSR &amp; _MM_ROUND_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_SET_ROUNDING_MODE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Macro: Set the rounding mode bits of the MXCSR control and status register to the value in unsigned 32-bit integer "a". The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO</description>
	<operation>MXCSR := a[31:0] AND ~_MM_ROUND_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_GET_FLUSH_ZERO_MODE" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<description>Macro: Get the flush zero bits from the MXCSR control and status register. The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF</description>
	<operation>dst[31:0] := MXCSR &amp; _MM_FLUSH_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_MM_SET_FLUSH_ZERO_MODE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Macro: Set the flush zero bits of the MXCSR control and status register to the value in unsigned 32-bit integer "a". The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF</description>
	<operation>MXCSR := a[31:0] AND ~_MM_FLUSH_MASK
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_prefetch" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI8" type="char const*" varname="p" />
	<parameter etype="IMM" immwidth="2" type="int" varname="i" />
	<description>Fetch the line of data from memory that contains address "p" to a location in the cache hierarchy specified by the locality hint "i", which can be one of:&lt;ul&gt;
    &lt;li&gt;_MM_HINT_T0   // 3, move data using the T0 hint. The PREFETCHT0 instruction will be generated.&lt;/li&gt;
    &lt;li&gt;_MM_HINT_T1   // 2, move data using the T1 hint. The PREFETCHT1 instruction will be generated.&lt;/li&gt;
    &lt;li&gt;_MM_HINT_T2   // 1, move data using the T2 hint. The PREFETCHT2 instruction will be generated.&lt;/li&gt;
    &lt;li&gt;_MM_HINT_NTA  // 0, move data using the non-temporal access (NTA) hint. The PREFETCHNTA instruction will be generated.&lt;/li&gt;
</description>
	<instruction form="m8" name="PREFETCHNTA" xed="PREFETCHNTA_MEMmprefetch" />
	<instruction form="m8" name="PREFETCHT0" xed="PREFETCHT0_MEMmprefetch" />
	<instruction form="m8" name="PREFETCHT1" xed="PREFETCHT1_MEMmprefetch" />
	<instruction form="m8" name="PREFETCHT2" xed="PREFETCHT2_MEMmprefetch" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_sfence" tech="SSE_ALL">
	<return type="void" />
	<parameter type="void" />
	<description>Perform a serializing operation on all store-to-memory instructions that were issued prior to this instruction. Guarantees that every store instruction that precedes, in program order, is globally visible before any store instruction which follows the fence in program order.</description>
	<instruction name="SFENCE" xed="SFENCE" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_malloc" tech="SSE_ALL">
	<return type="void*" />
	<parameter etype="UI64" type="size_t" varname="size" />
	<parameter etype="UI64" type="size_t" varname="align" />
	<description>Allocate "size" bytes of memory, aligned to the alignment specified in "align", and return a pointer to the allocated memory. "_mm_free" should be used to free memory that is allocated with "_mm_malloc".</description>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_free" tech="SSE_ALL">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<description>Free aligned memory that was allocated with "_mm_malloc".</description>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_undefined_ps" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m128 with undefined elements.</description>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_max_pi16" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMAXSW" xed="PMAXSW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_m_pmaxsw" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMAXSW" xed="PMAXSW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_pu8" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMAXUB" xed="PMAXUB_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_m_pmaxub" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMAXUB" xed="PMAXUB_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_pi16" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMINSW" xed="PMINSW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_m_pminsw" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMINSW" xed="PMINSW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_pu8" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMINUB" xed="PMINUB_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_m_pminub" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMINUB" xed="PMINUB_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper element of "dst". [min_float_note]</description>
	<operation>
dst[31:0] := MIN(a[31:0], b[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="MINSS" xed="MINSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="MINPS" xed="MINPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper element of "dst". [max_float_note]</description>
	<operation>
dst[31:0] := MAX(a[31:0], b[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="MAXSS" xed="MAXSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="MAXPS" xed="MAXPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_mulhi_pu16" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	tmp[31:0] := a[i+15:i] * b[i+15:i]
	dst[i+15:i] := tmp[31:16]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMULHUW" xed="PMULHUW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_pmulhuw" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	tmp[31:0] := a[i+15:i] * b[i+15:i]
	dst[i+15:i] := tmp[31:16]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMULHUW" xed="PMULHUW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sad_pu8" tech="SSE_ALL">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Compute the absolute differences of packed unsigned 8-bit integers in "a" and "b", then horizontally sum each consecutive 8 differences to produce four unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low 16 bits of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	tmp[i+7:i] := ABS(a[i+7:i] - b[i+7:i])
ENDFOR
dst[15:0] := tmp[7:0] + tmp[15:8] + tmp[23:16] + tmp[31:24] + tmp[39:32] + tmp[47:40] + tmp[55:48] + tmp[63:56]
dst[63:16] := 0
	</operation>
	<instruction form="mm, mm" name="PSADBW" xed="PSADBW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_m_psadbw" tech="SSE_ALL">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Compute the absolute differences of packed unsigned 8-bit integers in "a" and "b", then horizontally sum each consecutive 8 differences to produce four unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low 16 bits of "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	tmp[i+7:i] := ABS(a[i+7:i] - b[i+7:i])
ENDFOR
dst[15:0] := tmp[7:0] + tmp[15:8] + tmp[23:16] + tmp[31:24] + tmp[39:32] + tmp[47:40] + tmp[55:48] + tmp[63:56]
dst[63:16] := 0
	</operation>
	<instruction form="mm, mm" name="PSADBW" xed="PSADBW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Add the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := a[31:0] + b[31:0]
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="ADDSS" xed="ADDSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Add packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ADDPS" xed="ADDPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Subtract the lower single-precision (32-bit) floating-point element in "b" from the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := a[31:0] - b[31:0]
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="SUBSS" xed="SUBSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Subtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="SUBPS" xed="SUBPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Multiply the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := a[31:0] * b[31:0]
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="MULSS" xed="MULSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Multiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] * b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="MULPS" xed="MULPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Divide the lower single-precision (32-bit) floating-point element in "a" by the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := a[31:0] / b[31:0]
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="DIVSS" xed="DIVSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Divide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := a[i+31:i] / b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="DIVPS" xed="DIVPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_avg_pu8" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PAVGB" xed="PAVGB_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_m_pavgb" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PAVGB" xed="PAVGB_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_avg_pu16" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PAVGW" xed="PAVGW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_m_pavgw" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<parameter etype="UI16" type="__m64" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PAVGW" xed="PAVGW_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi32_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<description>Convert the signed 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, r32" name="CVTSI2SS" xed="CVTSI2SS_XMMss_GPR32d" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_si2ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<description>Convert the signed 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, r32" name="CVTSI2SS" xed="CVTSI2SS_XMMss_GPR32d" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi64_ss" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<description>Convert the signed 64-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, r64" name="CVTSI2SS" xed="CVTSI2SS_XMMss_GPR64q" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpi32_ps" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Convert packed 32-bit integers in "b" to packed single-precision (32-bit) floating-point elements, store the results in the lower 2 elements of "dst", and copy the upper 2 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[63:32] := Convert_Int32_To_FP32(b[63:32])
dst[95:64] := a[95:64]
dst[127:96] := a[127:96]
	</operation>
	<instruction form="xmm, mm" name="CVTPI2PS" xed="CVTPI2PS_XMMq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_pi2ps" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Convert packed signed 32-bit integers in "b" to packed single-precision (32-bit) floating-point elements, store the results in the lower 2 elements of "dst", and copy the upper 2 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[63:32] := Convert_Int32_To_FP32(b[63:32])
dst[95:64] := a[95:64]
dst[127:96] := a[127:96]
	</operation>
	<instruction form="xmm, mm" name="CVTPI2PS" xed="CVTPI2PS_XMMq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpi16_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<description>Convert packed 16-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	m := j*32
	dst[m+31:m] := Convert_Int16_To_FP32(a[i+15:i])
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpu16_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="UI16" type="__m64" varname="a" />
	<description>Convert packed unsigned 16-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	m := j*32
	dst[m+31:m] := Convert_Int16_To_FP32(a[i+15:i])
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpi8_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="SI8" type="__m64" varname="a" />
	<description>Convert the lower packed 8-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*8
	m := j*32
	dst[m+31:m] := Convert_Int8_To_FP32(a[i+7:i])
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpu8_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<description>Convert the lower packed unsigned 8-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*8
	m := j*32
	dst[m+31:m] := Convert_Int8_To_FP32(a[i+7:i])
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpi32x2_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, store the results in the lower 2 elements of "dst", then covert the packed signed 32-bit integers in "b" to single-precision (32-bit) floating-point element, and store the results in the upper 2 elements of "dst".</description>
	<operation>
dst[31:0] := Convert_Int32_To_FP32(a[31:0])
dst[63:32] := Convert_Int32_To_FP32(a[63:32])
dst[95:64] := Convert_Int32_To_FP32(b[31:0])
dst[127:96] := Convert_Int32_To_FP32(b[63:32])
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_si32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="CVTSS2SI" xed="CVTSS2SI_GPR32d_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_ss2si" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="CVTSS2SI" xed="CVTSS2SI_GPR32d_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_si64" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64(a[31:0])
	</operation>
	<instruction form="r64, xmm" name="CVTSS2SI" xed="CVTSS2SI_GPR64q_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_f32" tech="SSE_ALL">
	<return etype="FP32" type="float" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Copy the lower single-precision (32-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="m32, xmm" name="MOVSS" xed="MOVSS_MEMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_pi32" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="mm, xmm" name="CVTPS2PI" xed="CVTPS2PI_MMXq_XMMq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvt_ps2pi" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="mm, xmm" name="CVTPS2PI" xed="CVTPS2PI_MMXq_XMMq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttss_si32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="CVTTSS2SI" xed="CVTTSS2SI_GPR32d_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_ss2si" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0])
	</operation>
	<instruction form="r32, xmm" name="CVTTSS2SI" xed="CVTTSS2SI_GPR32d_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttss_si64" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP32_To_Int64_Truncate(a[31:0])
	</operation>
	<instruction form="r64, xmm" name="CVTTSS2SI" xed="CVTTSS2SI_GPR64q_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttps_pi32" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="mm, xmm" name="CVTTPS2PI" xed="CVTTPS2PI_MMXq_XMMq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtt_ps2pi" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="mm, xmm" name="CVTTPS2PI" xed="CVTTPS2PI_MMXq_XMMq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_pi16" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 16-bit integers, and store the results in "dst". Note: this intrinsic will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and 0x7FFFFFFF.</description>
	<operation>
FOR j := 0 to 3
	i := 16*j
	k := 32*j
	IF a[k+31:k] &gt;= FP32(0x7FFF) &amp;&amp; a[k+31:k] &lt;= FP32(0x7FFFFFFF)
		dst[i+15:i] := 0x7FFF
	ELSE
		dst[i+15:i] := Convert_FP32_To_Int16(a[k+31:k])
	FI
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_pi8" sequence="TRUE" tech="SSE_ALL">
	<return etype="SI8" type="__m64" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 8-bit integers, and store the results in lower 4 elements of "dst". Note: this intrinsic will generate 0x7F, rather than 0x80, for input values between 0x7F and 0x7FFFFFFF.</description>
	<operation>
FOR j := 0 to 3
	i := 8*j
	k := 32*j
	IF a[k+31:k] &gt;= FP32(0x7F) &amp;&amp; a[k+31:k] &lt;= FP32(0x7FFFFFFF)
		dst[i+7:i] := 0x7F
	ELSE
		dst[i+7:i] := Convert_FP32_To_Int8(a[k+31:k])
	FI
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_stream_pi" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="64" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<description>Store 64-bits of integer data from "a" into memory using a non-temporal memory hint.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
	</operation>
	<instruction form="m64, mm" name="MOVNTQ" xed="MOVNTQ_MEMq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_maskmove_si64" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="mask" />
	<parameter etype="UI8" memwidth="64" type="char*" varname="mem_addr" />
	<description>Conditionally store 8-bit integer elements from "a" into memory using "mask" (elements are not stored when the highest bit is not set in the corresponding element) and a non-temporal memory hint.</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	IF mask[i+7]
		MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="MASKMOVQ" xed="MASKMOVQ_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_m_maskmovq" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="mask" />
	<parameter etype="UI8" memwidth="64" type="char*" varname="mem_addr" />
	<description>Conditionally store 8-bit integer elements from "a" into memory using "mask" (elements are not stored when the highest bit is not set in the corresponding element).</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	IF mask[i+7]
		MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="MASKMOVQ" xed="MASKMOVQ_MMXq_MMXq" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_stream_ps" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a" into memory using a non-temporal memory hint.
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVNTPS" xed="MOVNTPS_MEMdq_XMMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeh_pi" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="64" type="__m64*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store the upper 2 single-precision (32-bit) floating-point elements from "a" into memory.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[95:64]
MEM[mem_addr+63:mem_addr+32] := a[127:96]
	</operation>
	<instruction form="m64, xmm" name="MOVHPS" xed="MOVHPS_MEMq_XMMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storel_pi" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="64" type="__m64*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store the lower 2 single-precision (32-bit) floating-point elements from "a" into memory.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[31:0]
MEM[mem_addr+63:mem_addr+32] := a[63:32]
	</operation>
	<instruction form="m64, xmm" name="MOVLPS" xed="MOVLPS_MEMq_XMMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_ss" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="32" type="float*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store the lower single-precision (32-bit) floating-point element from "a" into memory. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[31:0]
	</operation>
	<instruction form="m32, xmm" name="MOVSS" xed="MOVSS_MEMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store1_ps" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="32" type="float*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store the lower single-precision (32-bit) floating-point element from "a" into 4 contiguous elements in memory. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[31:0]
MEM[mem_addr+63:mem_addr+32] := a[31:0]
MEM[mem_addr+95:mem_addr+64] := a[31:0]
MEM[mem_addr+127:mem_addr+96] := a[31:0]
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_ps1" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="32" type="float*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store the lower single-precision (32-bit) floating-point element from "a" into 4 contiguous elements in memory. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[31:0]
MEM[mem_addr+63:mem_addr+32] := a[31:0]
MEM[mem_addr+95:mem_addr+64] := a[31:0]
MEM[mem_addr+127:mem_addr+96] := a[31:0]
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_ps" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="float*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a" into memory.
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVAPS" xed="MOVAPS_MEMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_ps" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="float*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a" into memory.
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVUPS" xed="MOVUPS_MEMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storer_ps" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP32" memwidth="128" type="float*" varname="mem_addr" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Store 4 single-precision (32-bit) floating-point elements from "a" into memory in reverse order.
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[127:96]
MEM[mem_addr+63:mem_addr+32] := a[95:64]
MEM[mem_addr+95:mem_addr+64] := a[63:32]
MEM[mem_addr+127:mem_addr+96] := a[31:0]
	</operation>
	<instruction form="m128, xmm" name="MOVUPS" xed="MOVUPS_MEMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_movemask_pi8" tech="SSE_ALL">
	<return etype="UI8" type="int" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<description>Create mask from the most significant bit of each 8-bit element in "a", and store the result in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[j] := a[i+7]
ENDFOR
dst[MAX:8] := 0
	</operation>
	<instruction form="r32, mm" name="PMOVMSKB" xed="PMOVMSKB_GPR32_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_m_pmovmskb" tech="SSE_ALL">
	<return etype="UI8" type="int" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<description>Create mask from the most significant bit of each 8-bit element in "a", and store the result in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[j] := a[i+7]
ENDFOR
dst[MAX:8] := 0
	</operation>
	<instruction form="r32, mm" name="PMOVMSKB" xed="PMOVMSKB_GPR32_MMXq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movemask_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Set each bit of mask "dst" based on the most significant bit of the corresponding packed single-precision (32-bit) floating-point element in "a".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF a[i+31]
		dst[j] := 1
	ELSE
		dst[j] := 0
	FI
ENDFOR
dst[MAX:4] := 0
	</operation>
	<instruction form="r32, xmm" name="MOVMSKPS" xed="MOVMSKPS_GPR32_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the square root of the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := SQRT(a[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="SQRTSS" xed="SQRTSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SQRT(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="SQRTPS" xed="SQRTPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rcp_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal of the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
dst[31:0] := (1.0 / a[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="RCPSS" xed="RCPSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rcp_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (1.0 / a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="RCPPS" xed="RCPPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal square root of the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
dst[31:0] := (1.0 / SQRT(a[31:0]))
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="RSQRTSS" xed="RSQRTSS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_rsqrt_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Compute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (1.0 / SQRT(a[i+31:i]))
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="RSQRTPS" xed="RSQRTPS_XMMps_XMMps" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_and_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ANDPS" xed="ANDPS_XMMxud_XMMxud" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_andnot_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ANDNPS" xed="ANDNPS_XMMxud_XMMxud" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_or_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] OR b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ORPS" xed="ORPS_XMMxud_XMMxud" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_xor_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="XORPS" xed="XORPS_XMMxud_XMMxud" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for equality, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := ( a[31:0] == b[31:0] ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] == b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for less-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := ( a[31:0] &lt; b[31:0] ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &lt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for less-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := ( a[31:0] &lt;= b[31:0] ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &lt;= b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for greater-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := ( a[31:0] &gt; b[31:0] ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &gt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for greater-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := ( a[31:0] &gt;= b[31:0] ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for greater-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &gt;= b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := ( a[31:0] != b[31:0] ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] != b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnlt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := (!( a[31:0] &lt; b[31:0] )) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnlt_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := !( a[i+31:i] &lt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnle_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := (!( a[31:0] &lt;= b[31:0] )) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnle_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (!( a[i+31:i] &lt;= b[i+31:i] )) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpngt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := (!( a[31:0] &gt; b[31:0] )) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpngt_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (!( a[i+31:i] &gt; b[i+31:i] )) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnge_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := (!( a[31:0] &gt;= b[31:0] )) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnge_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := (!( a[i+31:i] &gt;= b[i+31:i] )) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpord_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" to see if neither is NaN, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>dst[31:0] := ( a[31:0] != NaN AND b[31:0] != NaN ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpord_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if neither is NaN, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] != NaN AND b[i+31:i] != NaN ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpunord_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point elements in "a" and "b" to see if either is NaN, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>dst[31:0] := ( a[31:0] == NaN OR b[31:0] == NaN ) ? 0xFFFFFFFF : 0
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSS" xed="CMPSS_XMMss_XMMss_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpunord_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if either is NaN, and store the results in "dst".</description>
	<operation>FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] == NaN OR b[i+31:i] == NaN ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPS" xed="CMPPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comieq_ss" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for equality, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] == b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISS" xed="COMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comilt_ss" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &lt; b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISS" xed="COMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comile_ss" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &lt;= b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISS" xed="COMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comigt_ss" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &gt; b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISS" xed="COMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comige_ss" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &gt;= b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISS" xed="COMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comineq_ss" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for not-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[31:0] == NaN OR b[31:0] == NaN OR a[31:0] != b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISS" xed="COMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomieq_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for equality, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] == b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISS" xed="UCOMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomilt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &lt; b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISS" xed="UCOMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomile_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &lt;= b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISS" xed="UCOMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomigt_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &gt; b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISS" xed="UCOMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomige_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[31:0] != NaN AND b[31:0] != NaN AND a[31:0] &gt;= b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISS" xed="UCOMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomineq_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Compare the lower single-precision (32-bit) floating-point element in "a" and "b" for not-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[31:0] == NaN OR b[31:0] == NaN OR a[31:0] != b[31:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISS" xed="UCOMISS_XMMss_XMMss" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_set_ss" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Copy single-precision (32-bit) floating-point element "a" to the lower element of "dst", and zero the upper 3 elements.</description>
	<operation>
dst[31:0] := a[31:0]
dst[127:32] := 0
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Broadcast single-precision (32-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_ps1" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float" varname="a" />
	<description>Broadcast single-precision (32-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float" varname="e3" />
	<parameter etype="FP32" type="float" varname="e2" />
	<parameter etype="FP32" type="float" varname="e1" />
	<parameter etype="FP32" type="float" varname="e0" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst[31:0] := e0
dst[63:32] := e1
dst[95:64] := e2
dst[127:96] := e3
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="float" varname="e3" />
	<parameter etype="FP32" type="float" varname="e2" />
	<parameter etype="FP32" type="float" varname="e1" />
	<parameter etype="FP32" type="float" varname="e0" />
	<description>Set packed single-precision (32-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[31:0] := e3
dst[63:32] := e2
dst[95:64] := e1
dst[127:96] := e0
	</operation>
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setzero_ps" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m128 with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="xmm, xmm" name="XORPS" xed="XORPS_XMMxud_XMMxud" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_loadh_pi" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" memwidth="64" type="__m64 const*" varname="mem_addr" />
	<description>Load 2 single-precision (32-bit) floating-point elements from memory into the upper 2 elements of "dst", and copy the lower 2 elements from "a" to "dst". "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[31:0] := a[31:0]
dst[63:32] := a[63:32]
dst[95:64] := MEM[mem_addr+31:mem_addr]
dst[127:96] := MEM[mem_addr+63:mem_addr+32]
	</operation>
	<instruction form="xmm, m64" name="MOVHPS" xed="MOVHPS_XMMq_MEMq" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadl_pi" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" memwidth="64" type="__m64 const*" varname="mem_addr" />
	<description>Load 2 single-precision (32-bit) floating-point elements from memory into the lower 2 elements of "dst", and copy the upper 2 elements from "a" to "dst". "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[31:0] := MEM[mem_addr+31:mem_addr]
dst[63:32] := MEM[mem_addr+63:mem_addr+32]
dst[95:64] := a[95:64]
dst[127:96] := a[127:96]
	</operation>
	<instruction form="xmm, m64" name="MOVLPS" xed="MOVLPS_XMMq_MEMq" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="32" type="float const*" varname="mem_addr" />
	<description>Load a single-precision (32-bit) floating-point element from memory into the lower of "dst", and zero the upper 3 elements. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[31:0] := MEM[mem_addr+31:mem_addr]
dst[127:32] := 0
	</operation>
	<instruction form="xmm, m32" name="MOVSS" xed="MOVSS_XMMdq_MEMss" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load1_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="32" type="float const*" varname="mem_addr" />
	<description>Load a single-precision (32-bit) floating-point element from memory into all elements of "dst".</description>
	<operation>
dst[31:0] := MEM[mem_addr+31:mem_addr]
dst[63:32] := MEM[mem_addr+31:mem_addr]
dst[95:64] := MEM[mem_addr+31:mem_addr]
dst[127:96] := MEM[mem_addr+31:mem_addr]
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_ps1" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="32" type="float const*" varname="mem_addr" />
	<description>Load a single-precision (32-bit) floating-point element from memory into all elements of "dst".</description>
	<operation>
dst[31:0] := MEM[mem_addr+31:mem_addr]
dst[63:32] := MEM[mem_addr+31:mem_addr]
dst[95:64] := MEM[mem_addr+31:mem_addr]
dst[127:96] := MEM[mem_addr+31:mem_addr]
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="128" type="float const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from memory into "dst".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVAPS" xed="MOVAPS_XMMps_MEMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="128" type="float const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from memory into "dst".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVUPS" xed="MOVUPS_XMMps_MEMps" />
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadr_ps" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" memwidth="128" type="float const*" varname="mem_addr" />
	<description>Load 4 single-precision (32-bit) floating-point elements from memory into "dst" in reverse order. mem_addr must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[31:0] := MEM[mem_addr+127:mem_addr+96]
dst[63:32] := MEM[mem_addr+95:mem_addr+64]
dst[95:64] := MEM[mem_addr+63:mem_addr+32]
dst[127:96] := MEM[mem_addr+31:mem_addr]
	</operation>
	<CPUID>SSE</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_move_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Move the lower single-precision (32-bit) floating-point element from "b" to the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := b[31:0]
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm" name="MOVSS" xed="MOVSS_XMMss_XMMss_0F10" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_movehl_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Move the upper 2 single-precision (32-bit) floating-point elements from "b" to the lower 2 elements of "dst", and copy the upper 2 elements from "a" to the upper 2 elements of "dst".</description>
	<operation>
dst[31:0] := b[95:64]
dst[63:32] := b[127:96]
dst[95:64] := a[95:64]
dst[127:96] := a[127:96]
	</operation>
	<instruction form="xmm, xmm" name="MOVHLPS" xed="MOVHLPS_XMMq_XMMq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_movelh_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Move the lower 2 single-precision (32-bit) floating-point elements from "b" to the upper 2 elements of "dst", and copy the lower 2 elements from "a" to the lower 2 elements of "dst".</description>
	<operation>
dst[31:0] := a[31:0]
dst[63:32] := a[63:32]
dst[95:64] := b[31:0]
dst[127:96] := b[63:32]
	</operation>
	<instruction form="xmm, xmm" name="MOVLHPS" xed="MOVLHPS_XMMq_XMMq" />
	<CPUID>SSE</CPUID>
	<header>xmmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	
	
<intrinsic name="_mm_undefined_pd" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m128d with undefined elements.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_undefined_si128" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m128i with undefined elements.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_pause" tech="SSE_ALL">
	<return type="void" />
	<parameter type="void" />
	<description>Provide a hint to the processor that the code sequence is a spin-wait loop. This can help improve the performance and power consumption of spin-wait loops.</description>
	<instruction name="PAUSE" xed="PAUSE" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_clflush" tech="SSE_ALL">
	<return type="void" />
	<parameter type="void const*" varname="p" />
	<description>Invalidate and flush the cache line that contains "p" from all levels of the cache hierarchy.</description>
	<instruction form="m8" name="CLFLUSH" xed="CLFLUSH_MEMmprefetch" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_lfence" tech="SSE_ALL">
	<return type="void" />
	<parameter type="void" />
	<description>Perform a serializing operation on all load-from-memory instructions that were issued prior to this instruction. Guarantees that every load instruction that precedes, in program order, is globally visible before any load instruction which follows the fence in program order.</description>
	<instruction name="LFENCE" xed="LFENCE" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_mfence" tech="SSE_ALL">
	<return type="void" />
	<parameter type="void" />
	<description>Perform a serializing operation on all load-from-memory and store-to-memory instructions that were issued prior to this instruction. Guarantees that every memory access that precedes, in program order, the memory fence instruction is globally visible before any memory instruction which follows the fence in program order.</description>
	<instruction name="MFENCE" xed="MFENCE" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_si64" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" memwidth="64" type="void const*" varname="mem_addr" />
	<description>Load unaligned 64-bit integer from memory into the first element of "dst".</description>
	<operation>
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, m64" name="MOVQ" xed="MOVQ_XMMdq_MEMq_0F6E" />
	<CPUID>SSE2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_si16" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" memwidth="16" type="void const*" varname="mem_addr" />
	<description>Load unaligned 16-bit integer from memory into the first element of "dst".</description>
	<operation>
dst[15:0] := MEM[mem_addr+15:mem_addr]
dst[MAX:16] := 0
	</operation>
	<CPUID>SSE2</CPUID>
	<header>immintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_si32" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" memwidth="32" type="void const*" varname="mem_addr" />
	<description>Load unaligned 32-bit integer from memory into the first element of "dst".</description>
	<operation>
dst[31:0] := MEM[mem_addr+31:mem_addr]
dst[MAX:32] := 0
	</operation>
	<instruction form="xmm, m32" name="MOVD" xed="MOVD_XMMdq_MEMd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadl_epi64" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" memwidth="64" type="__m128i const*" varname="mem_addr" />
	<description>Load 64-bit integer from memory into the first element of "dst".</description>
	<operation>
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[MAX:64] := 0
	</operation>
	<instruction form="xmm, m64" name="MOVQ" xed="MOVQ_XMMdq_MEMq_0F7E" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" memwidth="128" type="__m128i const*" varname="mem_addr" />
	<description>Load 128-bits of integer data from memory into "dst". 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVDQA" xed="MOVDQA_XMMdq_MEMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" memwidth="128" type="__m128i const*" varname="mem_addr" />
	<description>Load 128-bits of integer data from memory into "dst".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVDQU" xed="MOVDQU_XMMdq_MEMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="128" type="double const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from memory into "dst".
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVAPD" xed="MOVAPD_XMMpd_MEMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load1_pd" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="64" type="double const*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into both elements of "dst".</description>
	<operation>
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[127:64] := MEM[mem_addr+63:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVAPD" xed="MOVAPD_XMMpd_MEMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_pd1" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="64" type="double const*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into both elements of "dst".</description>
	<operation>
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[127:64] := MEM[mem_addr+63:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVAPD" xed="MOVAPD_XMMpd_MEMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadr_pd" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="128" type="double const*" varname="mem_addr" />
	<description>Load 2 double-precision (64-bit) floating-point elements from memory into "dst" in reverse order. mem_addr must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[63:0] := MEM[mem_addr+127:mem_addr+64]
dst[127:64] := MEM[mem_addr+63:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVAPD" xed="MOVAPD_XMMpd_MEMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadu_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="128" type="double const*" varname="mem_addr" />
	<description>Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from memory into "dst".
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVUPD" xed="MOVUPD_XMMpd_MEMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_load_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="64" type="double const*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into the lower of "dst", and zero the upper element. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[127:64] := 0
	</operation>
	<instruction form="xmm, m64" name="MOVSD" xed="MOVSD_XMM_XMMdq_MEMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadh_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" memwidth="64" type="double const*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into the upper element of "dst", and copy the lower element from "a" to "dst". "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := MEM[mem_addr+63:mem_addr]
	</operation>
	<instruction form="xmm, m64" name="MOVHPD" xed="MOVHPD_XMMsd_MEMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loadl_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" memwidth="64" type="double const*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into the lower element of "dst", and copy the upper element from "a" to "dst". "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, m64" name="MOVLPD" xed="MOVLPD_XMMsd_MEMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_si16" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI16" memwidth="16" type="void*" varname="mem_addr" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Store 16-bit integer from the first element of "a" into memory. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+15:mem_addr] := a[15:0]
	</operation>
	<CPUID>SSE2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_si64" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI64" memwidth="64" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Store 64-bit integer from the first element of "a" into memory. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
	</operation>
	<instruction form="m64, xmm" name="MOVQ" xed="MOVQ_MEMq_XMMq_0F7E" />
	<CPUID>SSE2</CPUID>
	<header>immintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_si32" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI32" memwidth="32" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Store 32-bit integer from the first element of "a" into memory. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[31:0]
	</operation>
	<instruction form="m32, xmm" name="MOVD" xed="MOVD_MEMd_XMMd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_maskmoveu_si128" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="mask" />
	<parameter etype="UI8" memwidth="128" type="char*" varname="mem_addr" />
	<description>Conditionally store 8-bit integer elements from "a" into memory using "mask" (elements are not stored when the highest bit is not set in the corresponding element) and a non-temporal memory hint. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF mask[i+7]
		MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="MASKMOVDQU" xed="MASKMOVDQU_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_si128" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="M128" memwidth="128" type="__m128i*" varname="mem_addr" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Store 128-bits of integer data from "a" into memory. 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVDQA" xed="MOVDQA_MEMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_si128" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="M128" memwidth="128" type="__m128i*" varname="mem_addr" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Store 128-bits of integer data from "a" into memory.
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVDQU" xed="MOVDQU_MEMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storel_epi64" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI64" memwidth="64" type="__m128i*" varname="mem_addr" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Store 64-bit integer from the first element of "a" into memory.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
	</operation>
	<instruction form="m64, xmm" name="MOVQ" xed="MOVQ_MEMq_XMMq_0F7E" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_stream_si128" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="M128" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Store 128-bits of integer data from "a" into memory using a non-temporal memory hint. 
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVNTDQ" xed="MOVNTDQ_MEMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_stream_si32" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI32" memwidth="32" type="void*" varname="mem_addr" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Store 32-bit integer "a" into memory using a non-temporal hint to minimize cache pollution. If the cache line containing address "mem_addr" is already in the cache, the cache will be updated.</description>
	<operation>
MEM[mem_addr+31:mem_addr] := a[31:0]
	</operation>
	<instruction form="m32, r32" name="MOVNTI" xed="MOVNTI_MEMd_GPR32" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_stream_si64" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="UI64" memwidth="64" type="void*" varname="mem_addr" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Store 64-bit integer "a" into memory using a non-temporal hint to minimize cache pollution. If the cache line containing address "mem_addr" is already in the cache, the cache will be updated.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
	</operation>
	<instruction form="m64, r64" name="MOVNTI" xed="MOVNTI_MEMq_GPR64" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_stream_pd" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="void*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a" into memory using a non-temporal memory hint.
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVNTPD" xed="MOVNTPD_MEMdq_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_sd" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="64" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store the lower double-precision (64-bit) floating-point element from "a" into memory. "mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
	</operation>
	<instruction form="m64, xmm" name="MOVSD" xed="MOVSD_XMM_MEMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store1_pd" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="64" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store the lower double-precision (64-bit) floating-point element from "a" into 2 contiguous elements in memory. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
MEM[mem_addr+127:mem_addr+64] := a[63:0]
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_pd1" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="64" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store the lower double-precision (64-bit) floating-point element from "a" into 2 contiguous elements in memory. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
MEM[mem_addr+127:mem_addr+64] := a[63:0]
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_store_pd" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a" into memory.
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVAPD" xed="MOVAPD_MEMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeu_pd" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from "a" into memory.
	"mem_addr" does not need to be aligned on any particular boundary.</description>
	<operation>
MEM[mem_addr+127:mem_addr] := a[127:0]
	</operation>
	<instruction form="m128, xmm" name="MOVUPD" xed="MOVUPD_MEMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storer_pd" sequence="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="128" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store 2 double-precision (64-bit) floating-point elements from "a" into memory in reverse order.
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[127:64]
MEM[mem_addr+127:mem_addr+64] := a[63:0]
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storeh_pd" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="64" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store the upper double-precision (64-bit) floating-point element from "a" into memory.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[127:64]
	</operation>
	<instruction form="m64, xmm" name="MOVHPD" xed="MOVHPD_MEMq_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_storel_pd" vexEq="TRUE" tech="SSE_ALL">
	<return type="void" />
	<parameter etype="FP64" memwidth="64" type="double*" varname="mem_addr" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Store the lower double-precision (64-bit) floating-point element from "a" into memory.</description>
	<operation>
MEM[mem_addr+63:mem_addr] := a[63:0]
	</operation>
	<instruction form="m64, xmm" name="MOVLPD" xed="MOVLPD_MEMq_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Store</category>
	</intrinsic>
	<intrinsic name="_mm_add_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Add packed 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := a[i+7:i] + b[i+7:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDB" xed="PADDB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Add packed 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := a[i+15:i] + b[i+15:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDW" xed="PADDW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Add packed 32-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDD" xed="PADDD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_si64" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Add 64-bit integers "a" and "b", and store the result in "dst".</description>
	<operation>
dst[63:0] := a[63:0] + b[63:0]
	</operation>
	<instruction form="mm, mm" name="PADDQ" xed="PADDQ_MMXq_MMXq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Add packed 64-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] + b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDQ" xed="PADDQ_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Add packed signed 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDSB" xed="PADDSB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Add packed signed 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDSW" xed="PADDSW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_epu8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Add packed unsigned 8-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDUSB" xed="PADDUSB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_adds_epu16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Add packed unsigned 16-bit integers in "a" and "b" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PADDUSW" xed="PADDUSW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_madd_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMADDWD" xed="PMADDWD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mulhi_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply the packed signed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[31:16]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMULHW" xed="PMULHW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mulhi_epu16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Multiply the packed unsigned 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	tmp[31:0] := a[i+15:i] * b[i+15:i]
	dst[i+15:i] := tmp[31:16]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMULHUW" xed="PMULHUW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mullo_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Multiply the packed 16-bit integers in "a" and "b", producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
	dst[i+15:i] := tmp[15:0]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMULLW" xed="PMULLW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_su32" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI32" type="__m64" varname="a" />
	<parameter etype="UI32" type="__m64" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from "a" and "b", and store the unsigned 64-bit result in "dst".</description>
	<operation>
dst[63:0] := a[31:0] * b[31:0]
	</operation>
	<instruction form="mm, mm" name="PMULUDQ" xed="PMULUDQ_MMXq_MMXq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_epu32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Multiply the low unsigned 32-bit integers from each packed 64-bit element in "a" and "b", and store the unsigned 64-bit results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+31:i] * b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMULUDQ" xed="PMULUDQ_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sad_epu8" vexEq="TRUE" tech="SSE_ALL">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compute the absolute differences of packed unsigned 8-bit integers in "a" and "b", then horizontally sum each consecutive 8 differences to produce two unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low 16 bits of 64-bit elements in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	tmp[i+7:i] := ABS(a[i+7:i] - b[i+7:i])
ENDFOR
FOR j := 0 to 1
	i := j*64
	dst[i+15:i] := tmp[i+7:i] + tmp[i+15:i+8] + tmp[i+23:i+16] + tmp[i+31:i+24] + \
	               tmp[i+39:i+32] + tmp[i+47:i+40] + tmp[i+55:i+48] + tmp[i+63:i+56]
	dst[i+63:i+16] := 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSADBW" xed="PSADBW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Subtract packed 8-bit integers in "b" from packed 8-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := a[i+7:i] - b[i+7:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBB" xed="PSUBB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Subtract packed 16-bit integers in "b" from packed 16-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := a[i+15:i] - b[i+15:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBW" xed="PSUBW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Subtract packed 32-bit integers in "b" from packed 32-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBD" xed="PSUBD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_si64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<parameter etype="UI64" type="__m64" varname="b" />
	<description>Subtract 64-bit integer "b" from 64-bit integer "a", and store the result in "dst".</description>
	<operation>
dst[63:0] := a[63:0] - b[63:0]
	</operation>
	<instruction form="mm, mm" name="PSUBQ" xed="PSUBQ_MMXq_MMXq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Subtract packed 64-bit integers in "b" from packed 64-bit integers in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] - b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBQ" xed="PSUBQ_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Subtract packed signed 8-bit integers in "b" from packed 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])	
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBSB" xed="PSUBSB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Subtract packed signed 16-bit integers in "b" from packed 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBSW" xed="PSUBSW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_epu8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Subtract packed unsigned 8-bit integers in "b" from packed unsigned 8-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])	
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBUSB" xed="PSUBUSB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_subs_epu16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Subtract packed unsigned 16-bit integers in "b" from packed unsigned 16-bit integers in "a" using saturation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])	
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSUBUSW" xed="PSUBUSW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Add the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := a[63:0] + b[63:0]
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="ADDSD" xed="ADDSD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_add_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Add packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] + b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ADDPD" xed="ADDPD_XMMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Divide the lower double-precision (64-bit) floating-point element in "a" by the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := a[63:0] / b[63:0]
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="DIVSD" xed="DIVSD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_div_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Divide packed double-precision (64-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	dst[i+63:i] := a[i+63:i] / b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="DIVPD" xed="DIVPD_XMMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Multiply the lower double-precision (64-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := a[63:0] * b[63:0]
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="MULSD" xed="MULSD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Multiply packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] * b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="MULPD" xed="MULPD_XMMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Subtract the lower double-precision (64-bit) floating-point element in "b" from the lower double-precision (64-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := a[63:0] - b[63:0]
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="SUBSD" xed="SUBSD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sub_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Subtract packed double-precision (64-bit) floating-point elements in "b" from packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] - b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="SUBPD" xed="SUBPD_XMMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_avg_epu8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Average packed unsigned 8-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) &gt;&gt; 1
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PAVGB" xed="PAVGB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_avg_epu16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Average packed unsigned 16-bit integers in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) &gt;&gt; 1
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PAVGW" xed="PAVGW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Probability/Statistics</category>
	</intrinsic>
	<intrinsic name="_mm_max_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMAXSW" xed="PMAXSW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_epu8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMAXUB" xed="PMAXUB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMINSW" xed="PMINSW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_epu8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed unsigned 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMINUB" xed="PMINUB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [max_float_note]</description>
	<operation>
dst[63:0] := MAX(a[63:0], b[63:0])
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="MAXSD" xed="MAXSD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst". [max_float_note]</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="MAXPD" xed="MAXPD_XMMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst". [min_float_note]</description>
	<operation>
dst[63:0] := MIN(a[63:0], b[63:0])
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="MINSD" xed="MINSD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst". [min_float_note]</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="MINPD" xed="MINPD_XMMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_slli_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift "a" left by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &lt;&lt; (tmp*8)
	</operation>
	<instruction form="xmm, imm8" name="PSLLDQ" xed="PSLLDQ_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_bslli_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift "a" left by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &lt;&lt; (tmp*8)
	</operation>
	<instruction form="xmm, imm8" name="PSLLDQ" xed="PSLLDQ_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_bsrli_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift "a" right by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &gt;&gt; (tmp*8)
	</operation>
	<instruction form="xmm, imm8" name="PSRLDQ" xed="PSRLDQ_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_slli_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSLLW" xed="PSLLW_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sll_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &lt;&lt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSLLW" xed="PSLLW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_slli_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSLLD" xed="PSLLD_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sll_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &lt;&lt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSLLD" xed="PSLLD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_slli_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" left by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSLLQ" xed="PSLLQ_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sll_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" left by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &lt;&lt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSLLQ" xed="PSLLQ_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srai_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="5" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSRAW" xed="PSRAW_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sra_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
	ELSE
		dst[i+15:i] := SignExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSRAW" xed="PSRAW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srai_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSRAD" xed="PSRAD_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_sra_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in sign bits, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
	ELSE
		dst[i+31:i] := SignExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSRAD" xed="PSRAD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srli_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift "a" right by "imm8" bytes while shifting in zeros, and store the results in "dst".</description>
	<operation>
tmp := imm8[7:0]
IF tmp &gt; 15
	tmp := 16
FI
dst[127:0] := a[127:0] &gt;&gt; (tmp*8)
	</operation>
	<instruction form="xmm, imm8" name="PSRLDQ" xed="PSRLDQ_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srli_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 16-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF imm8[7:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSRLW" xed="PSRLW_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srl_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="count" />
	<description>Shift packed 16-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF count[63:0] &gt; 15
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := ZeroExtend16(a[i+15:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSRLW" xed="PSRLW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srli_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 32-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF imm8[7:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSRLD" xed="PSRLD_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srl_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="count" />
	<description>Shift packed 32-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF count[63:0] &gt; 31
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := ZeroExtend32(a[i+31:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSRLD" xed="PSRLD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srli_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shift packed 64-bit integers in "a" right by "imm8" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF imm8[7:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; imm8[7:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, imm8" name="PSRLQ" xed="PSRLQ_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_srl_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="count" />
	<description>Shift packed 64-bit integers in "a" right by "count" while shifting in zeros, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF count[63:0] &gt; 63
		dst[i+63:i] := 0
	ELSE
		dst[i+63:i] := ZeroExtend64(a[i+63:i] &gt;&gt; count[63:0])
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSRLQ" xed="PSRLQ_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Shift</category>
	</intrinsic>
	<intrinsic name="_mm_and_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[127:0] := (a[127:0] AND b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PAND" xed="PAND_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_andnot_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<description>Compute the bitwise NOT of 128 bits (representing integer data) in "a" and then AND with "b", and store the result in "dst".</description>
	<operation>
dst[127:0] := ((NOT a[127:0]) AND b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PANDN" xed="PANDN_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_or_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<description>Compute the bitwise OR of 128 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[127:0] := (a[127:0] OR b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="POR" xed="POR_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_xor_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<description>Compute the bitwise XOR of 128 bits (representing integer data) in "a" and "b", and store the result in "dst".</description>
	<operation>
dst[127:0] := (a[127:0] XOR b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PXOR" xed="PXOR_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_and_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ANDPD" xed="ANDPD_XMMxuq_XMMxuq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_andnot_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ANDNPD" xed="ANDNPD_XMMxuq_XMMxuq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_or_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] OR b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ORPD" xed="ORPD_XMMxuq_XMMxuq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_xor_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in "a" and "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="XORPD" xed="XORPD_XMMxuq_XMMxuq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Compare packed 8-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := ( a[i+7:i] == b[i+7:i] ) ? 0xFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPEQB" xed="PCMPEQB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed 16-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ( a[i+15:i] == b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPEQW" xed="PCMPEQW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed 32-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] == b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPEQD" xed="PCMPEQD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := ( a[i+7:i] &gt; b[i+7:i] ) ? 0xFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPGTB" xed="PCMPGTB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ( a[i+15:i] &gt; b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPGTW" xed="PCMPGTW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &gt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPGTD" xed="PCMPGTD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b" for less-than, and store the results in "dst". Note: This intrinsic emits the pcmpgtb instruction with the order of the operands switched.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := ( a[i+7:i] &lt; b[i+7:i] ) ? 0xFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPGTB" xed="PCMPGTB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Compare packed signed 16-bit integers in "a" and "b" for less-than, and store the results in "dst". Note: This intrinsic emits the pcmpgtw instruction with the order of the operands switched.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ( a[i+15:i] &lt; b[i+15:i] ) ? 0xFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPGTW" xed="PCMPGTW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b" for less-than, and store the results in "dst". Note: This intrinsic emits the pcmpgtd instruction with the order of the operands switched.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ( a[i+31:i] &lt; b[i+31:i] ) ? 0xFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPGTD" xed="PCMPGTD_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for equality, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] == b[63:0]) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for less-than, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] &lt; b[63:0]) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for less-than-or-equal, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] &lt;= b[63:0]) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for greater-than, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] &gt; b[63:0]) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for greater-than-or-equal, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] &gt;= b[63:0]) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpord_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" to see if neither is NaN, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>dst[63:0] := (a[63:0] != NaN AND b[63:0] != NaN) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpunord_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" to see if either is NaN, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>dst[63:0] := (a[63:0] == NaN OR b[63:0] == NaN) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for not-equal, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (a[63:0] != b[63:0]) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnlt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (!(a[63:0] &lt; b[63:0])) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnle_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (!(a[63:0] &lt;= b[63:0])) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpngt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for not-greater-than, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (!(a[63:0] &gt; b[63:0])) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnge_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point elements in "a" and "b" for not-greater-than-or-equal, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := (!(a[63:0] &gt;= b[63:0])) ? 0xFFFFFFFFFFFFFFFF : 0
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPSD" xed="CMPSD_XMM_XMMsd_XMMsd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] == b[i+63:i]) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmplt_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for less-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] &lt; b[i+63:i]) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmple_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for less-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] &lt;= b[i+63:i]) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] &gt; b[i+63:i]) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpge_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for greater-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] &gt;= b[i+63:i]) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpord_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" to see if neither is NaN, and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] != NaN AND b[i+63:i] != NaN) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpunord_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" to see if either is NaN, and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] == NaN OR b[i+63:i] == NaN) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpneq_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (a[i+63:i] != b[i+63:i]) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnlt_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (!(a[i+63:i] &lt; b[i+63:i])) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnle_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (!(a[i+63:i] &lt;= b[i+63:i])) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpngt_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (!(a[i+63:i] &gt; b[i+63:i])) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpnge_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare packed double-precision (64-bit) floating-point elements in "a" and "b" for not-greater-than-or-equal, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := (!(a[i+63:i] &gt;= b[i+63:i])) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="CMPPD" xed="CMPPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comieq_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for equality, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] == b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISD" xed="COMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comilt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for less-than, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &lt; b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISD" xed="COMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comile_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &lt;= b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISD" xed="COMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comigt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for greater-than, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &gt; b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISD" xed="COMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comige_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &gt;= b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISD" xed="COMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_comineq_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for not-equal, and return the boolean result (0 or 1).</description>
	<operation>RETURN ( a[63:0] == NaN OR b[63:0] == NaN OR a[63:0] != b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="COMISD" xed="COMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomieq_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for equality, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] == b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISD" xed="UCOMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomilt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for less-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &lt; b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISD" xed="UCOMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomile_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &lt;= b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISD" xed="UCOMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomigt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for greater-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &gt; b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISD" xed="UCOMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomige_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[63:0] != NaN AND b[63:0] != NaN AND a[63:0] &gt;= b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISD" xed="UCOMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_ucomineq_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compare the lower double-precision (64-bit) floating-point element in "a" and "b" for not-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.</description>
	<operation>RETURN ( a[63:0] == NaN OR b[63:0] == NaN OR a[63:0] != b[63:0] ) ? 1 : 0
	</operation>
	<instruction form="xmm, xmm" name="UCOMISD" xed="UCOMISD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi32_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="CVTDQ2PD" xed="CVTDQ2PD_XMMpd_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi32_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="SI32" type="int" varname="b" />
	<description>Convert the signed 32-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_Int32_To_FP64(b[31:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, r32" name="CVTSI2SD" xed="CVTSI2SD_XMMsd_GPR32d" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi64_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<description>Convert the signed 64-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, r64" name="CVTSI2SD" xed="CVTSI2SD_XMMsd_GPR64q" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi64x_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="SI64" type="__int64" varname="b" />
	<description>Convert the signed 64-bit integer "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, r64" name="CVTSI2SD" xed="CVTSI2SD_XMMsd_GPR64q" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi32_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="CVTDQ2PS" xed="CVTDQ2PS_XMMps_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpi32_pd" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<description>Convert packed signed 32-bit integers in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	m := j*64
	dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, mm" name="CVTPI2PD" xed="CVTPI2PD_XMMpd_MMXq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi32_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Copy 32-bit integer "a" to the lower elements of "dst", and zero the upper elements of "dst".</description>
	<operation>
dst[31:0] := a[31:0]
dst[127:32] := 0
	</operation>
	<instruction form="xmm, r32" name="MOVD" xed="MOVD_XMMdq_GPR32" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi64_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Copy 64-bit integer "a" to the lower element of "dst", and zero the upper element.</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := 0
	</operation>
	<instruction form="xmm, r64" name="MOVQ" xed="MOVQ_XMMdq_GPR64" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi64x_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Copy 64-bit integer "a" to the lower element of "dst", and zero the upper element.</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := 0
	</operation>
	<instruction form="xmm, r64" name="MOVQ" xed="MOVQ_XMMdq_GPR64" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi128_si32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Copy the lower 32-bit integer in "a" to "dst".</description>
	<operation>
dst[31:0] := a[31:0]
	</operation>
	<instruction form="r32, xmm" name="MOVD" xed="MOVD_GPR32_XMMd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi128_si64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Copy the lower 64-bit integer in "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="r64, xmm" name="MOVQ" xed="MOVQ_GPR64_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsi128_si64x" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Copy the lower 64-bit integer in "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="r64, xmm" name="MOVQ" xed="MOVQ_GPR64_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpd_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed single-precision (32-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_FP32(a[k+63:k])
ENDFOR
dst[127:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="CVTPD2PS" xed="CVTPD2PS_XMMps_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed double-precision (64-bit) floating-point elements, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 32*j
	dst[i+63:i] := Convert_FP32_To_FP64(a[k+31:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="CVTPS2PD" xed="CVTPS2PD_XMMpd_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpd_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="CVTPD2DQ" xed="CVTPD2DQ_XMMdq_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_si32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32(a[63:0])
	</operation>
	<instruction form="r32, xmm" name="CVTSD2SI" xed="CVTSD2SI_GPR32d_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_si64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="CVTSD2SI" xed="CVTSD2SI_GPR64q_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_si64x" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="CVTSD2SI" xed="CVTSD2SI_GPR64q_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := Convert_FP64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="CVTSD2SS" xed="CVTSD2SS_XMMss_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtsd_f64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="double" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Copy the lower double-precision (64-bit) floating-point element of "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="m64, xmm" name="MOVSD" xed="MOVSD_XMM_MEMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtss_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Convert the lower single-precision (32-bit) floating-point element in "b" to a double-precision (64-bit) floating-point element, store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := Convert_FP32_To_FP64(b[31:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0
	</operation>
	<instruction form="xmm, xmm" name="CVTSS2SD" xed="CVTSS2SD_XMMsd_XMMss" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttpd_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="CVTTPD2DQ" xed="CVTTPD2DQ_XMMdq_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsd_si32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[31:0] := Convert_FP64_To_Int32_Truncate(a[63:0])
	</operation>
	<instruction form="r32, xmm" name="CVTTSD2SI" xed="CVTTSD2SI_GPR32d_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsd_si64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="CVTTSD2SI" xed="CVTTSD2SI_GPR64q_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttsd_si64x" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert the lower double-precision (64-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".</description>
	<operation>
dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0])
	</operation>
	<instruction form="r64, xmm" name="CVTTSD2SI" xed="CVTTSD2SI_GPR64q_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtps_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="CVTPS2DQ" xed="CVTPS2DQ_XMMdq_XMMps" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttps_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Convert packed single-precision (32-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="CVTTPS2DQ" xed="CVTTPS2DQ_XMMdq_XMMps" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtpd_pi32" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR
	</operation>
	<instruction form="mm, xmm" name="CVTPD2PI" xed="CVTPD2PI_MMXq_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvttpd_pi32" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Convert packed double-precision (64-bit) floating-point elements in "a" to packed 32-bit integers with truncation, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 32*j
	k := 64*j
	dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR
	</operation>
	<instruction form="mm, xmm" name="CVTTPD2PI" xed="CVTTPD2PI_MMXq_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_set_epi64" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="e1" />
	<parameter etype="UI64" type="__m64" varname="e0" />
	<description>Set packed 64-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[63:0] := e0
dst[127:64] := e1
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_epi64x" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="e1" />
	<parameter etype="UI64" type="__int64" varname="e0" />
	<description>Set packed 64-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[63:0] := e0
dst[127:64] := e1
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_epi32" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="int" varname="e3" />
	<parameter etype="UI32" type="int" varname="e2" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[31:0] := e0
dst[63:32] := e1
dst[95:64] := e2
dst[127:96] := e3
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_epi16" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="short" varname="e7" />
	<parameter etype="UI16" type="short" varname="e6" />
	<parameter etype="UI16" type="short" varname="e5" />
	<parameter etype="UI16" type="short" varname="e4" />
	<parameter etype="UI16" type="short" varname="e3" />
	<parameter etype="UI16" type="short" varname="e2" />
	<parameter etype="UI16" type="short" varname="e1" />
	<parameter etype="UI16" type="short" varname="e0" />
	<description>Set packed 16-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[15:0] := e0
dst[31:16] := e1
dst[47:32] := e2
dst[63:48] := e3
dst[79:64] := e4
dst[95:80] := e5
dst[111:96] := e6
dst[127:112] := e7
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_epi8" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="char" varname="e15" />
	<parameter etype="UI8" type="char" varname="e14" />
	<parameter etype="UI8" type="char" varname="e13" />
	<parameter etype="UI8" type="char" varname="e12" />
	<parameter etype="UI8" type="char" varname="e11" />
	<parameter etype="UI8" type="char" varname="e10" />
	<parameter etype="UI8" type="char" varname="e9" />
	<parameter etype="UI8" type="char" varname="e8" />
	<parameter etype="UI8" type="char" varname="e7" />
	<parameter etype="UI8" type="char" varname="e6" />
	<parameter etype="UI8" type="char" varname="e5" />
	<parameter etype="UI8" type="char" varname="e4" />
	<parameter etype="UI8" type="char" varname="e3" />
	<parameter etype="UI8" type="char" varname="e2" />
	<parameter etype="UI8" type="char" varname="e1" />
	<parameter etype="UI8" type="char" varname="e0" />
	<description>Set packed 8-bit integers in "dst" with the supplied values.</description>
	<operation>
dst[7:0] := e0
dst[15:8] := e1
dst[23:16] := e2
dst[31:24] := e3
dst[39:32] := e4
dst[47:40] := e5
dst[55:48] := e6
dst[63:56] := e7
dst[71:64] := e8
dst[79:72] := e9
dst[87:80] := e10
dst[95:88] := e11
dst[103:96] := e12
dst[111:104] := e13
dst[119:112] := e14
dst[127:120] := e15
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_epi64" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_epi64x" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__int64" varname="a" />
	<description>Broadcast 64-bit integer "a" to all elements of "dst". This intrinsic may generate the "vpbroadcastq".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_epi32" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="int" varname="a" />
	<description>Broadcast 32-bit integer "a" to all elements of "dst". This intrinsic may generate "vpbroadcastd".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := a[31:0]
ENDFOR
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_epi16" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="short" varname="a" />
	<description>Broadcast 16-bit integer "a" to all all elements of "dst". This intrinsic may generate "vpbroadcastw".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := a[15:0]
ENDFOR
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_epi8" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="char" varname="a" />
	<description>Broadcast 8-bit integer "a" to all elements of "dst". This intrinsic may generate "vpbroadcastb".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := a[7:0]
ENDFOR
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_epi64" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="e1" />
	<parameter etype="UI64" type="__m64" varname="e0" />
	<description>Set packed 64-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[63:0] := e1
dst[127:64] := e0
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_epi32" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="int" varname="e3" />
	<parameter etype="UI32" type="int" varname="e2" />
	<parameter etype="UI32" type="int" varname="e1" />
	<parameter etype="UI32" type="int" varname="e0" />
	<description>Set packed 32-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[31:0] := e3
dst[63:32] := e2
dst[95:64] := e1
dst[127:96] := e0
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_epi16" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="short" varname="e7" />
	<parameter etype="UI16" type="short" varname="e6" />
	<parameter etype="UI16" type="short" varname="e5" />
	<parameter etype="UI16" type="short" varname="e4" />
	<parameter etype="UI16" type="short" varname="e3" />
	<parameter etype="UI16" type="short" varname="e2" />
	<parameter etype="UI16" type="short" varname="e1" />
	<parameter etype="UI16" type="short" varname="e0" />
	<description>Set packed 16-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[15:0] := e7
dst[31:16] := e6
dst[47:32] := e5
dst[63:48] := e4
dst[79:64] := e3
dst[95:80] := e2
dst[111:96] := e1
dst[127:112] := e0
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_epi8" sequence="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="char" varname="e15" />
	<parameter etype="UI8" type="char" varname="e14" />
	<parameter etype="UI8" type="char" varname="e13" />
	<parameter etype="UI8" type="char" varname="e12" />
	<parameter etype="UI8" type="char" varname="e11" />
	<parameter etype="UI8" type="char" varname="e10" />
	<parameter etype="UI8" type="char" varname="e9" />
	<parameter etype="UI8" type="char" varname="e8" />
	<parameter etype="UI8" type="char" varname="e7" />
	<parameter etype="UI8" type="char" varname="e6" />
	<parameter etype="UI8" type="char" varname="e5" />
	<parameter etype="UI8" type="char" varname="e4" />
	<parameter etype="UI8" type="char" varname="e3" />
	<parameter etype="UI8" type="char" varname="e2" />
	<parameter etype="UI8" type="char" varname="e1" />
	<parameter etype="UI8" type="char" varname="e0" />
	<description>Set packed 8-bit integers in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[7:0] := e15
dst[15:8] := e14
dst[23:16] := e13
dst[31:24] := e12
dst[39:32] := e11
dst[47:40] := e10
dst[55:48] := e9
dst[63:56] := e8
dst[71:64] := e7
dst[79:72] := e6
dst[87:80] := e5
dst[95:88] := e4
dst[103:96] := e3
dst[111:104] := e2
dst[119:112] := e1
dst[127:120] := e0
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setzero_si128" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<description>Return vector of type __m128i with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="xmm, xmm" name="PXOR" xed="PXOR_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_sd" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Copy double-precision (64-bit) floating-point element "a" to the lower element of "dst", and zero the upper element.</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := 0
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set1_pd" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Broadcast double-precision (64-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_pd1" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="double" varname="a" />
	<description>Broadcast double-precision (64-bit) floating-point value "a" to all elements of "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := a[63:0]
ENDFOR
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_set_pd" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="double" varname="e1" />
	<parameter etype="FP64" type="double" varname="e0" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the supplied values.</description>
	<operation>
dst[63:0] := e0
dst[127:64] := e1
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setr_pd" sequence="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="double" varname="e1" />
	<parameter etype="FP64" type="double" varname="e0" />
	<description>Set packed double-precision (64-bit) floating-point elements in "dst" with the supplied values in reverse order.</description>
	<operation>
dst[63:0] := e1
dst[127:64] := e0
	</operation>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_setzero_pd" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter type="void" />
	<description>Return vector of type __m128d with all elements set to zero.</description>
	<operation>
dst[MAX:0] := 0
	</operation>
	<instruction form="xmm, xmm" name="XORPD" xed="XORPD_XMMxuq_XMMxuq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Set</category>
	</intrinsic>
	<intrinsic name="_mm_movepi64_pi64" tech="SSE_ALL">
	<return etype="FP32" type="__m64" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Copy the lower 64-bit integer in "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
	</operation>
	<instruction form="mm, xmm" name="MOVDQ2Q" xed="MOVDQ2Q_MMXq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_packs_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI8" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := Saturate8(a[15:0])
dst[15:8] := Saturate8(a[31:16])
dst[23:16] := Saturate8(a[47:32])
dst[31:24] := Saturate8(a[63:48])
dst[39:32] := Saturate8(a[79:64])
dst[47:40] := Saturate8(a[95:80])
dst[55:48] := Saturate8(a[111:96])
dst[63:56] := Saturate8(a[127:112])
dst[71:64] := Saturate8(b[15:0])
dst[79:72] := Saturate8(b[31:16])
dst[87:80] := Saturate8(b[47:32])
dst[95:88] := Saturate8(b[63:48])
dst[103:96] := Saturate8(b[79:64])
dst[111:104] := Saturate8(b[95:80])
dst[119:112] := Saturate8(b[111:96])
dst[127:120] := Saturate8(b[127:112])
	</operation>
	<instruction form="xmm, xmm" name="PACKSSWB" xed="PACKSSWB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_packs_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using signed saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:0])
dst[31:16] := Saturate16(a[63:32])
dst[47:32] := Saturate16(a[95:64])
dst[63:48] := Saturate16(a[127:96])
dst[79:64] := Saturate16(b[31:0])
dst[95:80] := Saturate16(b[63:32])
dst[111:96] := Saturate16(b[95:64])
dst[127:112] := Saturate16(b[127:96])
	</operation>
	<instruction form="xmm, xmm" name="PACKSSDW" xed="PACKSSDW_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_packus_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Convert packed signed 16-bit integers from "a" and "b" to packed 8-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[7:0] := SaturateU8(a[15:0])
dst[15:8] := SaturateU8(a[31:16])
dst[23:16] := SaturateU8(a[47:32])
dst[31:24] := SaturateU8(a[63:48])
dst[39:32] := SaturateU8(a[79:64])
dst[47:40] := SaturateU8(a[95:80])
dst[55:48] := SaturateU8(a[111:96])
dst[63:56] := SaturateU8(a[127:112])
dst[71:64] := SaturateU8(b[15:0])
dst[79:72] := SaturateU8(b[31:16])
dst[87:80] := SaturateU8(b[47:32])
dst[95:88] := SaturateU8(b[63:48])
dst[103:96] := SaturateU8(b[79:64])
dst[111:104] := SaturateU8(b[95:80])
dst[119:112] := SaturateU8(b[111:96])
dst[127:120] := SaturateU8(b[127:112])
	</operation>
	<instruction form="xmm, xmm" name="PACKUSWB" xed="PACKUSWB_XMMdq_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movemask_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="MASK" type="int" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Create mask from the most significant bit of each 8-bit element in "a", and store the result in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[j] := a[i+7]
ENDFOR
dst[MAX:16] := 0
	</operation>
	<instruction form="r32, xmm" name="PMOVMSKB" xed="PMOVMSKB_GPR32_XMMdq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movemask_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="MASK" type="int" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Set each bit of mask "dst" based on the most significant bit of the corresponding packed double-precision (64-bit) floating-point element in "a".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF a[i+63]
		dst[j] := 1
	ELSE
		dst[j] := 0
	FI
ENDFOR
dst[MAX:2] := 0
	</operation>
	<instruction form="r32, xmm" name="MOVMSKPD" xed="MOVMSKPD_GPR32_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_movpi64_epi64" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m64" varname="a" />
	<description>Copy the 64-bit integer "a" to the lower element of "dst", and zero the upper element.</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := 0
	</operation>
	<instruction form="xmm, mm" name="MOVQ2DQ" xed="MOVQ2DQ_XMMdq_MMXq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_move_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Copy the lower 64-bit integer in "a" to the lower element of "dst", and zero the upper element.</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := 0
	</operation>
	<instruction form="xmm, xmm" name="MOVQ" xed="MOVQ_XMMdq_XMMq_0F7E" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_move_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Move the lower double-precision (64-bit) floating-point element from "b" to the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := b[63:0]
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="MOVSD" xed="MOVSD_XMM_XMMsd_XMMsd_0F10" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_extract_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="int" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="3" type="int" varname="imm8" />
	<description>Extract a 16-bit integer from "a", selected with "imm8", and store the result in the lower element of "dst".</description>
	<operation>
dst[15:0] := (a[127:0] &gt;&gt; (imm8[2:0] * 16))[15:0]
dst[31:16] := 0
	</operation>
	<instruction form="r32, xmm, imm8" name="PEXTRW" xed="PEXTRW_GPR32_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_insert_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="int" varname="i" />
	<parameter etype="IMM" immwidth="3" type="int" varname="imm8" />
	<description>Copy "a" to "dst", and insert the 16-bit integer "i" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[127:0] := a[127:0]
sel := imm8[2:0]*16
dst[sel+15:sel] := i[15:0]
	</operation>
	<instruction form="xmm, r32, imm8" name="PINSRW" xed="PINSRW_XMMdq_GPR32_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_shuffle_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 32-bit integers in "a" using the control in "imm8", and store the results in "dst".</description>
	<operation>
DEFINE SELECT4(src, control) {
	CASE(control[1:0]) OF
	0:	tmp[31:0] := src[31:0]
	1:	tmp[31:0] := src[63:32]
	2:	tmp[31:0] := src[95:64]
	3:	tmp[31:0] := src[127:96]
	ESAC
	RETURN tmp[31:0]
}
dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(a[127:0], imm8[5:4])
dst[127:96] := SELECT4(a[127:0], imm8[7:6])
	</operation>
	<instruction form="xmm, xmm, imm8" name="PSHUFD" xed="PSHUFD_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_shufflehi_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the high 64 bits of "a" using the control in "imm8". Store the results in the high 64 bits of "dst", with the low 64 bits being copied from from "a" to "dst".</description>
	<operation>
dst[63:0] := a[63:0]
dst[79:64] := (a &gt;&gt; (imm8[1:0] * 16))[79:64]
dst[95:80] := (a &gt;&gt; (imm8[3:2] * 16))[79:64]
dst[111:96] := (a &gt;&gt; (imm8[5:4] * 16))[79:64]
dst[127:112] := (a &gt;&gt; (imm8[7:6] * 16))[79:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="PSHUFHW" xed="PSHUFHW_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_shufflelo_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="8" type="int" varname="imm8" />
	<description>Shuffle 16-bit integers in the low 64 bits of "a" using the control in "imm8". Store the results in the low 64 bits of "dst", with the high 64 bits being copied from from "a" to "dst".</description>
	<operation>
dst[15:0] := (a &gt;&gt; (imm8[1:0] * 16))[15:0]
dst[31:16] := (a &gt;&gt; (imm8[3:2] * 16))[15:0]
dst[47:32] := (a &gt;&gt; (imm8[5:4] * 16))[15:0]
dst[63:48] := (a &gt;&gt; (imm8[7:6] * 16))[15:0]
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="PSHUFLW" xed="PSHUFLW_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[71:64] 
	dst[15:8] := src2[71:64] 
	dst[23:16] := src1[79:72] 
	dst[31:24] := src2[79:72] 
	dst[39:32] := src1[87:80] 
	dst[47:40] := src2[87:80] 
	dst[55:48] := src1[95:88] 
	dst[63:56] := src2[95:88] 
	dst[71:64] := src1[103:96] 
	dst[79:72] := src2[103:96] 
	dst[87:80] := src1[111:104] 
	dst[95:88] := src2[111:104] 
	dst[103:96] := src1[119:112] 
	dst[111:104] := src2[119:112] 
	dst[119:112] := src1[127:120] 
	dst[127:120] := src2[127:120] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_BYTES(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKHBW" xed="PUNPCKHBW_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[79:64]
	dst[31:16] := src2[79:64] 
	dst[47:32] := src1[95:80] 
	dst[63:48] := src2[95:80] 
	dst[79:64] := src1[111:96] 
	dst[95:80] := src2[111:96] 
	dst[111:96] := src1[127:112] 
	dst[127:112] := src2[127:112] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_HIGH_WORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKHWD" xed="PUNPCKHWD_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[95:64] 
	dst[63:32] := src2[95:64] 
	dst[95:64] := src1[127:96] 
	dst[127:96] := src2[127:96] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_DWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKHDQ" xed="PUNPCKHDQ_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKHQDQ" xed="PUNPCKHQDQ_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Unpack and interleave 8-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_BYTES(src1[127:0], src2[127:0]) {
	dst[7:0] := src1[7:0] 
	dst[15:8] := src2[7:0] 
	dst[23:16] := src1[15:8] 
	dst[31:24] := src2[15:8] 
	dst[39:32] := src1[23:16] 
	dst[47:40] := src2[23:16] 
	dst[55:48] := src1[31:24] 
	dst[63:56] := src2[31:24] 
	dst[71:64] := src1[39:32]
	dst[79:72] := src2[39:32] 
	dst[87:80] := src1[47:40] 
	dst[95:88] := src2[47:40] 
	dst[103:96] := src1[55:48] 
	dst[111:104] := src2[55:48] 
	dst[119:112] := src1[63:56] 
	dst[127:120] := src2[63:56] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_BYTES(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKLBW" xed="PUNPCKLBW_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Unpack and interleave 16-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_WORDS(src1[127:0], src2[127:0]) {
	dst[15:0] := src1[15:0] 
	dst[31:16] := src2[15:0] 
	dst[47:32] := src1[31:16] 
	dst[63:48] := src2[31:16] 
	dst[79:64] := src1[47:32] 
	dst[95:80] := src2[47:32] 
	dst[111:96] := src1[63:48] 
	dst[127:112] := src2[63:48] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_WORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKLWD" xed="PUNPCKLWD_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Unpack and interleave 32-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_DWORDS(src1[127:0], src2[127:0]) {
	dst[31:0] := src1[31:0] 
	dst[63:32] := src2[31:0] 
	dst[95:64] := src1[63:32] 
	dst[127:96] := src2[63:32] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_DWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKLDQ" xed="PUNPCKLDQ_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Unpack and interleave 64-bit integers from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="PUNPCKLQDQ" xed="PUNPCKLQDQ_XMMdq_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpackhi_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the high half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[127:64] 
	dst[127:64] := src2[127:64] 
	RETURN dst[127:0]	
}
dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="UNPCKHPD" xed="UNPCKHPD_XMMpd_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_unpacklo_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Unpack and interleave double-precision (64-bit) floating-point elements from the low half of "a" and "b", and store the results in "dst".</description>
	<operation>
DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) {
	dst[63:0] := src1[63:0] 
	dst[127:64] := src2[63:0] 
	RETURN dst[127:0]
}
dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0])
	</operation>
	<instruction form="xmm, xmm" name="UNPCKLPD" xed="UNPCKLPD_XMMpd_XMMq" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_shuffle_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="int" varname="imm8" />
	<description>Shuffle double-precision (64-bit) floating-point elements using the control in "imm8", and store the results in "dst".</description>
	<operation>
dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64]
dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="SHUFPD" xed="SHUFPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Compute the square root of the lower double-precision (64-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := SQRT(b[63:0])
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm" name="SQRTSD" xed="SQRTSD_XMMsd_XMMsd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_sqrt_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Compute the square root of packed double-precision (64-bit) floating-point elements in "a", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SQRT(a[i+63:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="SQRTPD" xed="SQRTPD_XMMpd_XMMpd" />
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Elementary Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_castpd_ps" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Cast vector of type __m128d to type __m128. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castpd_si128" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Cast vector of type __m128d to type __m128i. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castps_pd" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Cast vector of type __m128 to type __m128d. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castps_si128" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Cast vector of type __m128 to type __m128i. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castsi128_pd" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<description>Cast vector of type __m128i to type __m128d. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	<intrinsic name="_mm_castsi128_ps" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Cast vector of type __m128i to type __m128. This intrinsic is only used for compilation and does not generate any instructions, thus it has zero latency.</description>
	<CPUID>SSE2</CPUID>
	<header>emmintrin.h</header>
	<category>Cast</category>
	</intrinsic>
	
	
<intrinsic name="_mm_addsub_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Alternatively add and subtract packed single-precision (32-bit) floating-point elements in "a" to/from packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF ((j &amp; 1) == 0)
		dst[i+31:i] := a[i+31:i] - b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i] + b[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ADDSUBPS" xed="ADDSUBPS_XMMps_XMMps" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_addsub_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Alternatively add and subtract packed double-precision (64-bit) floating-point elements in "a" to/from packed elements in "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF ((j &amp; 1) == 0)
		dst[i+63:i] := a[i+63:i] - b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i] + b[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="ADDSUBPD" xed="ADDSUBPD_XMMpd_XMMpd" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hadd_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Horizontally add adjacent pairs of double-precision (64-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[63:0] := a[127:64] + a[63:0]
dst[127:64] := b[127:64] + b[63:0]
	</operation>
	<instruction form="xmm, xmm" name="HADDPD" xed="HADDPD_XMMpd_XMMpd" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hadd_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Horizontally add adjacent pairs of single-precision (32-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] + a[31:0]
dst[63:32] := a[127:96] + a[95:64]
dst[95:64] := b[63:32] + b[31:0]
dst[127:96] := b[127:96] + b[95:64]
	</operation>
	<instruction form="xmm, xmm" name="HADDPS" xed="HADDPS_XMMps_XMMps" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsub_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Horizontally subtract adjacent pairs of double-precision (64-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[63:0] := a[63:0] - a[127:64]
dst[127:64] := b[63:0] - b[127:64]
	</operation>
	<instruction form="xmm, xmm" name="HSUBPD" xed="HSUBPD_XMMpd_XMMpd" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsub_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Horizontally add adjacent pairs of single-precision (32-bit) floating-point elements in "a" and "b", and pack the results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] - a[63:32]
dst[63:32] := a[95:64] - a[127:96]
dst[95:64] := b[31:0] - b[63:32]
dst[127:96] := b[95:64] - b[127:96]
	</operation>
	<instruction form="xmm, xmm" name="HSUBPS" xed="HSUBPS_XMMps_XMMps" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_lddqu_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" memwidth="128" type="__m128i const*" varname="mem_addr" />
	<description>Load 128-bits of integer data from unaligned memory into "dst". This intrinsic may perform better than "_mm_loadu_si128" when the data crosses a cache line boundary.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="LDDQU" xed="LDDQU_XMMpd_MEMdq" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_loaddup_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" memwidth="64" type="double const*" varname="mem_addr" />
	<description>Load a double-precision (64-bit) floating-point element from memory into both elements of "dst".</description>
	<operation>
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[127:64] := MEM[mem_addr+63:mem_addr]
	</operation>
	<instruction form="xmm, m64" name="MOVDDUP" xed="MOVDDUP_XMMdq_MEMq" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	<intrinsic name="_mm_movedup_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Duplicate the low double-precision (64-bit) floating-point element from "a", and store the results in "dst".</description>
	<operation>
dst[63:0] := a[63:0]
dst[127:64] := a[63:0]
	</operation>
	<instruction form="xmm, xmm" name="MOVDDUP" xed="MOVDDUP_XMMdq_XMMq" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_movehdup_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Duplicate odd-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] 
dst[63:32] := a[63:32]
dst[95:64] := a[127:96] 
dst[127:96] := a[127:96]
	</operation>
	<instruction form="xmm, xmm" name="MOVSHDUP" xed="MOVSHDUP_XMMps_XMMps" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	<intrinsic name="_mm_moveldup_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Duplicate even-indexed single-precision (32-bit) floating-point elements from "a", and store the results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] 
dst[63:32] := a[31:0]
dst[95:64] := a[95:64] 
dst[127:96] := a[95:64]
	</operation>
	<instruction form="xmm, xmm" name="MOVSLDUP" xed="MOVSLDUP_XMMps_XMMps" />
	<CPUID>SSE3</CPUID>
	<header>pmmintrin.h</header>
	<category>Move</category>
	</intrinsic>
	
	
<intrinsic name="_mm_blend_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Blend packed double-precision (64-bit) floating-point elements from "a" and "b" using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF imm8[j]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="BLENDPD" xed="BLENDPD_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_blend_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Blend packed single-precision (32-bit) floating-point elements from "a" and "b" using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF imm8[j]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="BLENDPS" xed="BLENDPS_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_blendv_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="FP64" type="__m128d" varname="mask" />
	<description>Blend packed double-precision (64-bit) floating-point elements from "a" and "b" using "mask", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	IF mask[i+63]
		dst[i+63:i] := b[i+63:i]
	ELSE
		dst[i+63:i] := a[i+63:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="BLENDVPD" xed="BLENDVPD_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_blendv_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="FP32" type="__m128" varname="mask" />
	<description>Blend packed single-precision (32-bit) floating-point elements from "a" and "b" using "mask", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF mask[i+31]
		dst[i+31:i] := b[i+31:i]
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="BLENDVPS" xed="BLENDVPS_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_blendv_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="UI8" type="__m128i" varname="mask" />
	<description>Blend packed 8-bit integers from "a" and "b" using "mask", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF mask[i+7]
		dst[i+7:i] := b[i+7:i]
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PBLENDVB" xed="PBLENDVB_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_blend_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Blend packed 16-bit integers from "a" and "b" using control mask "imm8", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF imm8[j]
		dst[i+15:i] := b[i+15:i]
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="PBLENDW" xed="PBLENDW_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_extract_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Extract a single-precision (32-bit) floating-point element from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
dst[31:0] := (a[127:0] &gt;&gt; (imm8[1:0] * 32))[31:0]
	</operation>
	<instruction form="r32, xmm, imm8" name="EXTRACTPS" xed="EXTRACTPS_GPR32d_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_extract_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="int" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Extract an 8-bit integer from "a", selected with "imm8", and store the result in the lower element of "dst".</description>
	<operation>
dst[7:0] := (a[127:0] &gt;&gt; (imm8[3:0] * 8))[7:0]
dst[31:8] := 0
	</operation>
	<instruction form="r32, xmm, imm8" name="PEXTRB" xed="PEXTRB_GPR32d_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_extract_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Extract a 32-bit integer from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
dst[31:0] := (a[127:0] &gt;&gt; (imm8[1:0] * 32))[31:0]
	</operation>
	<instruction form="r32, xmm, imm8" name="PEXTRD" xed="PEXTRD_GPR32d_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_extract_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Extract a 64-bit integer from "a", selected with "imm8", and store the result in "dst".</description>
	<operation>
dst[63:0] := (a[127:0] &gt;&gt; (imm8[0] * 64))[63:0]
	</operation>
	<instruction form="r64, xmm, imm8" name="PEXTRQ" xed="PEXTRQ_GPR64q_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_insert_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Copy "a" to "tmp", then insert a single-precision (32-bit) floating-point element from "b" into "tmp" using the control in "imm8". Store "tmp" to "dst" using the mask in "imm8" (elements are zeroed out when the corresponding bit is set).</description>
	<operation>
tmp2[127:0] := a[127:0]
CASE (imm8[7:6]) OF
0: tmp1[31:0] := b[31:0]
1: tmp1[31:0] := b[63:32]
2: tmp1[31:0] := b[95:64]
3: tmp1[31:0] := b[127:96]
ESAC
CASE (imm8[5:4]) OF
0: tmp2[31:0] := tmp1[31:0]
1: tmp2[63:32] := tmp1[31:0]
2: tmp2[95:64] := tmp1[31:0]
3: tmp2[127:96] := tmp1[31:0]
ESAC
FOR j := 0 to 3
	i := j*32
	IF imm8[j%8]
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := tmp2[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="INSERTPS" xed="INSERTPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_insert_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="int" varname="i" />
	<parameter etype="IMM" immwidth="4" type="const int" varname="imm8" />
	<description>Copy "a" to "dst", and insert the lower 8-bit integer from "i" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[127:0] := a[127:0]
sel := imm8[3:0]*8
dst[sel+7:sel] := i[7:0]
	</operation>
	<instruction form="xmm, r32, imm8" name="PINSRB" xed="PINSRB_XMMdq_GPR32d_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_insert_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="int" varname="i" />
	<parameter etype="IMM" immwidth="2" type="const int" varname="imm8" />
	<description>Copy "a" to "dst", and insert the 32-bit integer "i" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[127:0] := a[127:0]
sel := imm8[1:0]*32
dst[sel+31:sel] := i[31:0]
	</operation>
	<instruction form="xmm, r32, imm8" name="PINSRD" xed="PINSRD_XMMdq_GPR32d_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_insert_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__int64" varname="i" />
	<parameter etype="IMM" immwidth="1" type="const int" varname="imm8" />
	<description>Copy "a" to "dst", and insert the 64-bit integer "i" into "dst" at the location specified by "imm8".</description>
	<operation>
dst[127:0] := a[127:0]
sel := imm8[0]*64
dst[sel+63:sel] := i[63:0]
	</operation>
	<instruction form="xmm, r64, imm8" name="PINSRQ" xed="PINSRQ_XMMdq_GPR64q_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_dp_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Conditionally multiply the packed double-precision (64-bit) floating-point elements in "a" and "b" using the high 4 bits in "imm8", sum the four products, and conditionally store the sum in "dst" using the low 4 bits of "imm8".</description>
	<operation>
DEFINE DP(a[127:0], b[127:0], imm8[7:0]) {
	FOR j := 0 to 1
		i := j*64
		IF imm8[(4+j)%8]
			temp[i+63:i] := a[i+63:i] * b[i+63:i]
		ELSE
			temp[i+63:i] := 0.0
		FI
	ENDFOR
	
	sum[63:0] := temp[127:64] + temp[63:0]
	
	FOR j := 0 to 1
		i := j*64
		IF imm8[j%8]
			tmpdst[i+63:i] := sum[63:0]
		ELSE
			tmpdst[i+63:i] := 0.0
		FI
	ENDFOR
	RETURN tmpdst[127:0]
}
dst[127:0] := DP(a[127:0], b[127:0], imm8[7:0])
	</operation>
	<instruction form="xmm, xmm, imm8" name="DPPD" xed="DPPD_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_dp_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Conditionally multiply the packed single-precision (32-bit) floating-point elements in "a" and "b" using the high 4 bits in "imm8", sum the four products, and conditionally store the sum in "dst" using the low 4 bits of "imm8".</description>
	<operation>
DEFINE DP(a[127:0], b[127:0], imm8[7:0]) {
	FOR j := 0 to 3
		i := j*32
		IF imm8[(4+j)%8]
			temp[i+31:i] := a[i+31:i] * b[i+31:i]
		ELSE
			temp[i+31:i] := 0
		FI
	ENDFOR
	
	sum[31:0] := (temp[127:96] + temp[95:64]) + (temp[63:32] + temp[31:0])
	
	FOR j := 0 to 3
		i := j*32
		IF imm8[j%8]
			tmpdst[i+31:i] := sum[31:0]
		ELSE
			tmpdst[i+31:i] := 0
		FI
	ENDFOR
	RETURN tmpdst[127:0]
}
dst[127:0] := DP(a[127:0], b[127:0], imm8[7:0])
	</operation>
	<instruction form="xmm, xmm, imm8" name="DPPS" xed="DPPS_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mul_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Multiply the low signed 32-bit integers from each packed 64-bit element in "a" and "b", and store the signed 64-bit results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := SignExtend64(a[i+31:i]) * SignExtend64(b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMULDQ" xed="PMULDQ_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mullo_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Multiply the packed 32-bit integers in "a" and "b", producing intermediate 64-bit integers, and store the low 32 bits of the intermediate integers in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	tmp[63:0] := a[i+31:i] * b[i+31:i]
	dst[i+31:i] := tmp[31:0]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMULLD" xed="PMULLD_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mpsadbw_epu8" vexEq="TRUE" tech="SSE_ALL">
	<category>Miscellaneous</category>
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in "a" compared to those in "b", and store the 16-bit results in "dst".
	Eight SADs are performed using one quadruplet from "b" and eight quadruplets from "a". One quadruplet is selected from "b" starting at on the offset specified in "imm8". Eight quadruplets are formed from sequential 8-bit integers selected from "a" starting at the offset specified in "imm8".</description>
	<operation>
DEFINE MPSADBW(a[127:0], b[127:0], imm8[2:0]) {
	a_offset := imm8[2]*32
	b_offset := imm8[1:0]*32
	FOR j := 0 to 7
		i := j*8
		k := a_offset+i
		l := b_offset
		tmp[i*2+15:i*2] := ABS(Signed(a[k+7:k] - b[l+7:l])) + ABS(Signed(a[k+15:k+8] - b[l+15:l+8])) + \
		                   ABS(Signed(a[k+23:k+16] - b[l+23:l+16])) + ABS(Signed(a[k+31:k+24] - b[l+31:l+24]))
	ENDFOR
	RETURN tmp[127:0]
}
dst[127:0] := MPSADBW(a[127:0], b[127:0], imm8[2:0])
	</operation>
	<instruction form="xmm, xmm, imm8" name="MPSADBW" xed="MPSADBW_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_max_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := MAX(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMAXSB" xed="PMAXSB_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMAXSD" xed="PMAXSD_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_epu32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMAXUD" xed="PMAXUD_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_max_epu16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed maximum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := MAX(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMAXUW" xed="PMAXUW_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Compare packed signed 8-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := MIN(a[i+7:i], b[i+7:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMINSB" xed="PMINSB_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Compare packed signed 32-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMINSD" xed="PMINSD_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_epu32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<parameter etype="UI32" type="__m128i" varname="b" />
	<description>Compare packed unsigned 32-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMINUD" xed="PMINUD_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_min_epu16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<parameter etype="UI16" type="__m128i" varname="b" />
	<description>Compare packed unsigned 16-bit integers in "a" and "b", and store packed minimum values in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := MIN(a[i+15:i], b[i+15:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMINUW" xed="PMINUW_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_round_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="IMM" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" using the "rounding" parameter, and store the results as packed double-precision floating-point elements in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ROUND(a[i+63:i], rounding)
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDPD" xed="ROUNDPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_floor_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" down to an integer value, and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := FLOOR(a[i+63:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDPD" xed="ROUNDPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_ceil_pd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<description>Round the packed double-precision (64-bit) floating-point elements in "a" up to an integer value, and store the results as packed double-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := CEIL(a[i+63:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDPD" xed="ROUNDPD_XMMpd_XMMpd_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_round_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="IMM" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" using the "rounding" parameter, and store the results as packed single-precision floating-point elements in "dst".
	[round_note]</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ROUND(a[i+31:i], rounding)
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDPS" xed="ROUNDPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_floor_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" down to an integer value, and store the results as packed single-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := FLOOR(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDPS" xed="ROUNDPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_ceil_ps" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<description>Round the packed single-precision (32-bit) floating-point elements in "a" up to an integer value, and store the results as packed single-precision floating-point elements in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := CEIL(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDPS" xed="ROUNDPS_XMMps_XMMps_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_round_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<parameter etype="IMM" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" using the "rounding" parameter, store the result as a double-precision floating-point element in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
	[round_note]</description>
	<operation>
dst[63:0] := ROUND(b[63:0], rounding)
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDSD" xed="ROUNDSD_XMMq_XMMq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_floor_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" down to an integer value, store the result as a double-precision floating-point element in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := FLOOR(b[63:0])
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDSD" xed="ROUNDSD_XMMq_XMMq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_ceil_sd" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP64" type="__m128d" varname="dst" />
	<parameter etype="FP64" type="__m128d" varname="a" />
	<parameter etype="FP64" type="__m128d" varname="b" />
	<description>Round the lower double-precision (64-bit) floating-point element in "b" up to an integer value, store the result as a double-precision floating-point element in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".</description>
	<operation>
dst[63:0] := CEIL(b[63:0])
dst[127:64] := a[127:64]
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDSD" xed="ROUNDSD_XMMq_XMMq_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_round_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<parameter etype="IMM" immtype="_MM_FROUND" type="int" varname="rounding" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" using the "rounding" parameter, store the result as a single-precision floating-point element in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
	[round_note]</description>
	<operation>
dst[31:0] := ROUND(b[31:0], rounding)
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDSS" xed="ROUNDSS_XMMd_XMMd_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_floor_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" down to an integer value, store the result as a single-precision floating-point element in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := FLOOR(b[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDSS" xed="ROUNDSS_XMMd_XMMd_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_ceil_ss" vexEq="TRUE" tech="SSE_ALL">
	<return etype="FP32" type="__m128" varname="dst" />
	<parameter etype="FP32" type="__m128" varname="a" />
	<parameter etype="FP32" type="__m128" varname="b" />
	<description>Round the lower single-precision (32-bit) floating-point element in "b" up to an integer value, store the result as a single-precision floating-point element in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".</description>
	<operation>
dst[31:0] := CEIL(b[31:0])
dst[127:32] := a[127:32]
	</operation>
	<instruction form="xmm, xmm, imm8" name="ROUNDSS" xed="ROUNDSS_XMMd_XMMd_IMMb" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_packus_epi32" vexEq="TRUE" tech="SSE_ALL">
	<category>Miscellaneous</category>
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Convert packed signed 32-bit integers from "a" and "b" to packed 16-bit integers using unsigned saturation, and store the results in "dst".</description>
	<operation>
dst[15:0] := SaturateU16(a[31:0])
dst[31:16] := SaturateU16(a[63:32])
dst[47:32] := SaturateU16(a[95:64])
dst[63:48] := SaturateU16(a[127:96])
dst[79:64] := SaturateU16(b[31:0])
dst[95:80] := SaturateU16(b[63:32])
dst[111:96] := SaturateU16(b[95:64])
dst[127:112] := SaturateU16(b[127:96])
	</operation>
	<instruction form="xmm, xmm" name="PACKUSDW" xed="PACKUSDW_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi8_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	l := j*16
	dst[l+15:l] := SignExtend16(a[i+7:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVSXBW" xed="PMOVSXBW_XMMdq_XMMq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi8_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 8*j
	dst[i+31:i] := SignExtend32(a[k+7:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVSXBD" xed="PMOVSXBD_XMMdq_XMMd" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi8_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Sign extend packed 8-bit integers in the low 8 bytes of "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 8*j
	dst[i+63:i] := SignExtend64(a[k+7:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVSXBQ" xed="PMOVSXBQ_XMMdq_XMMw" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi16_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 16*j
	dst[i+31:i] := SignExtend32(a[k+15:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVSXWD" xed="PMOVSXWD_XMMdq_XMMq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi16_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Sign extend packed 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 16*j
	dst[i+63:i] := SignExtend64(a[k+15:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVSXWQ" xed="PMOVSXWQ_XMMdq_XMMd" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepi32_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI64" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Sign extend packed 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 32*j
	dst[i+63:i] := SignExtend64(a[k+31:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVSXDQ" xed="PMOVSXDQ_XMMdq_XMMq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu8_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 16-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	l := j*16
	dst[l+15:l] := ZeroExtend16(a[i+7:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVZXBW" xed="PMOVZXBW_XMMdq_XMMq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu8_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 8*j
	dst[i+31:i] := ZeroExtend32(a[k+7:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVZXBD" xed="PMOVZXBD_XMMdq_XMMd" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu8_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 8-bit integers in the low 8 byte sof "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 8*j
	dst[i+63:i] := ZeroExtend64(a[k+7:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVZXBQ" xed="PMOVZXBQ_XMMdq_XMMw" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu16_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 32-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := 32*j
	k := 16*j
	dst[i+31:i] := ZeroExtend32(a[k+15:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVZXWD" xed="PMOVZXWD_XMMdq_XMMq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu16_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 16-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 16*j
	dst[i+63:i] := ZeroExtend64(a[k+15:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVZXWQ" xed="PMOVZXWQ_XMMdq_XMMd" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cvtepu32_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI32" type="__m128i" varname="a" />
	<description>Zero extend packed unsigned 32-bit integers in "a" to packed 64-bit integers, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := 64*j
	k := 32*j
	dst[i+63:i] := ZeroExtend64(a[k+31:k])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMOVZXDQ" xed="PMOVZXDQ_XMMdq_XMMq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Convert</category>
	</intrinsic>
	<intrinsic name="_mm_cmpeq_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="UI64" type="__m128i" varname="a" />
	<parameter etype="UI64" type="__m128i" varname="b" />
	<description>Compare packed 64-bit integers in "a" and "b" for equality, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ( a[i+63:i] == b[i+63:i] ) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPEQQ" xed="PCMPEQQ_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_testz_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing integer data) in "a" and "b", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return the "ZF" value.</description>
	<operation>
IF ((a[127:0] AND b[127:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
IF (((NOT a[127:0]) AND b[127:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
RETURN ZF
	</operation>
	<instruction form="xmm, xmm" name="PTEST" xed="PTEST_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testc_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="k" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing integer data) in "a" and "b", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return the "CF" value.</description>
	<operation>
IF ((a[127:0] AND b[127:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
IF (((NOT a[127:0]) AND b[127:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
RETURN CF
	</operation>
	<instruction form="xmm, xmm" name="PTEST" xed="PTEST_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_testnzc_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<description>Compute the bitwise AND of 128 bits (representing integer data) in "a" and "b", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "b", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.</description>
	<operation>
IF ((a[127:0] AND b[127:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
IF (((NOT a[127:0]) AND b[127:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
IF (ZF == 0 &amp;&amp; CF == 0)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="xmm, xmm" name="PTEST" xed="PTEST_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_test_all_zeros" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="mask" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Compute the bitwise AND of 128 bits (representing integer data) in "a" and "mask", and return 1 if the result is zero, otherwise return 0.</description>
	<operation>
IF ((a[127:0] AND mask[127:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
dst := ZF
	</operation>
	<instruction form="xmm, xmm" name="PTEST" xed="PTEST_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_test_mix_ones_zeros" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="mask" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Compute the bitwise AND of 128 bits (representing integer data) in "a" and "mask", and set "ZF" to 1 if the result is zero, otherwise set "ZF" to 0. Compute the bitwise NOT of "a" and then AND with "mask", and set "CF" to 1 if the result is zero, otherwise set "CF" to 0. Return 1 if both the "ZF" and "CF" values are zero, otherwise return 0.</description>
	<operation>
IF ((a[127:0] AND mask[127:0]) == 0)
	ZF := 1
ELSE
	ZF := 0
FI
IF (((NOT a[127:0]) AND mask[127:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
IF (ZF == 0 &amp;&amp; CF == 0)
	dst := 1
ELSE
	dst := 0
FI
	</operation>
	<instruction form="xmm, xmm" name="PTEST" xed="PTEST_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_test_all_ones" sequence="TRUE" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<description>Compute the bitwise NOT of "a" and then AND with a 128-bit vector containing all 1's, and return 1 if the result is zero, otherwise return 0.</description>
	<operation>
FOR j := 0 to 127
	tmp[j] := 1
ENDFOR
IF (((NOT a[127:0]) AND tmp[127:0]) == 0)
	CF := 1
ELSE
	CF := 0
FI
dst := CF
	</operation>
	<instruction form="xmm, xmm" name="PCMPEQD" xed="PCMPEQD_XMMdq_XMMdq" />
	<instruction form="xmm, xmm" name="PTEST" xed="PTEST_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Logical</category>
	</intrinsic>
	<intrinsic name="_mm_minpos_epu16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="UI16" type="__m128i" varname="a" />
	<description>Horizontally compute the minimum amongst the packed unsigned 16-bit integers in "a", store the minimum and index in "dst", and zero the remaining bits in "dst".</description>
	<operation>
index[2:0] := 0
min[15:0] := a[15:0]
FOR j := 0 to 7
	i := j*16
	IF a[i+15:i] &lt; min[15:0]
		index[2:0] := j
		min[15:0] := a[i+15:i]
	FI
ENDFOR
dst[15:0] := min[15:0]
dst[18:16] := index[2:0]
dst[127:19] := 0
	</operation>
	<instruction form="xmm, xmm" name="PHMINPOSUW" xed="PHMINPOSUW_XMMdq_XMMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_stream_load_si128" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" memwidth="128" type="void*" varname="mem_addr" />
	<description>Load 128-bits of integer data from memory into "dst" using a non-temporal memory hint.
	"mem_addr" must be aligned on a 16-byte boundary or a general-protection exception may be generated.</description>
	<operation>
dst[127:0] := MEM[mem_addr+127:mem_addr]
	</operation>
	<instruction form="xmm, m128" name="MOVNTDQA" xed="MOVNTDQA_XMMdq_MEMdq" />
	<CPUID>SSE4.1</CPUID>
	<header>smmintrin.h</header>
	<category>Load</category>
	</intrinsic>
	
	
<intrinsic name="_mm_cmpistrm" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings with implicit lengths in "a" and "b" using the control in "imm8", and store the generated mask in "dst".
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF a[m+size-1:m] == 0
			aInvalid := 1
		FI
		IF b[n+size-1:n] == 0
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
bInvalid := 0
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF b[n+size-1:n] == 0
				bInvalid := 1
			FI
			IF bInvalid // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
IF imm8[6] // byte / word mask
	FOR i := 0 to UpperBound
		j := i*size
		IF IntRes2[i]
			dst[j+size-1:j] := (imm8[0] ? 0xFF : 0xFFFF)
		ELSE
			dst[j+size-1:j] := 0
		FI
	ENDFOR
ELSE // bit mask
	dst[UpperBound:0] := IntRes2[UpperBound:0]
	dst[127:UpperBound+1] := 0
FI
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPISTRM" xed="PCMPISTRM_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpistri" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings with implicit lengths in "a" and "b" using the control in "imm8", and store the generated index in "dst".
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF a[m+size-1:m] == 0
			aInvalid := 1
		FI
		IF b[n+size-1:n] == 0
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
bInvalid := 0
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF b[n+size-1:n] == 0
				bInvalid := 1
			FI
			IF bInvalid // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
IF imm8[6] // most significant bit
	tmp := UpperBound
	dst := tmp
	DO WHILE ((tmp &gt;= 0) AND a[tmp] == 0)
		tmp := tmp - 1
		dst := tmp
	OD
ELSE // least significant bit
	tmp := 0
	dst := tmp
	DO WHILE ((tmp &lt;= UpperBound) AND a[tmp] == 0)
		tmp := tmp + 1
		dst := tmp
	OD
FI
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPISTRI" xed="PCMPISTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpistrz" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" hint="TRUE" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings with implicit lengths in "a" and "b" using the control in "imm8", and returns 1 if any character in "b" was null, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
bInvalid := 0
FOR j := 0 to UpperBound
	n := j*size
	IF b[n+size-1:n] == 0
		bInvalid := 1
	FI
ENDFOR
dst := bInvalid
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPISTRI" xed="PCMPISTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpistrc" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings with implicit lengths in "a" and "b" using the control in "imm8", and returns 1 if the resulting mask was non-zero, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF a[m+size-1:m] == 0
			aInvalid := 1
		FI
		IF b[n+size-1:n] == 0
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
bInvalid := 0
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF b[n+size-1:n] == 0
				bInvalid := 1
			FI
			IF bInvalid // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
dst := (IntRes2 != 0)
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPISTRI" xed="PCMPISTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpistrs" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" hint="TRUE" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings with implicit lengths in "a" and "b" using the control in "imm8", and returns 1 if any character in "a" was null, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
aInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	IF a[m+size-1:m] == 0
		aInvalid := 1
	FI
ENDFOR
dst := aInvalid
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPISTRI" xed="PCMPISTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpistro" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings with implicit lengths in "a" and "b" using the control in "imm8", and returns bit 0 of the resulting bit mask.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF a[m+size-1:m] == 0
			aInvalid := 1
		FI
		IF b[n+size-1:n] == 0
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
bInvalid := 0
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF b[n+size-1:n] == 0
				bInvalid := 1
			FI
			IF bInvalid // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
dst := IntRes2[0]
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPISTRI" xed="PCMPISTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpistra" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings with implicit lengths in "a" and "b" using the control in "imm8", and returns 1 if "b" did not contain a null character and the resulting mask was zero, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF a[m+size-1:m] == 0
			aInvalid := 1
		FI
		IF b[n+size-1:n] == 0
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
bInvalid := 0
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF b[n+size-1:n] == 0
				bInvalid := 1
			FI
			IF bInvalid // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
dst := (IntRes2 == 0) AND bInvalid
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPISTRI" xed="PCMPISTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpestrm" vexEq="TRUE" tech="SSE_ALL">
	<return etype="M128" type="__m128i" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="UI32" type="int" varname="la" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="UI32" type="int" varname="lb" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings in "a" and "b" with lengths "la" and "lb" using the control in "imm8", and store the generated mask in "dst".
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF i == la
			aInvalid := 1
		FI
		IF j == lb
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF i &gt;= lb // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
IF imm8[6] // byte / word mask
	FOR i := 0 to UpperBound
		j := i*size
		IF IntRes2[i]
			dst[j+size-1:j] := (imm8[0] ? 0xFF : 0xFFFF)
		ELSE
			dst[j+size-1:j] := 0
		FI
	ENDFOR
ELSE // bit mask
	dst[UpperBound:0] := IntRes2[UpperBound:0]
	dst[127:UpperBound+1] := 0
FI
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPESTRM" xed="PCMPESTRM_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpestri" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="UI32" type="int" varname="la" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="UI32" type="int" varname="lb" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings in "a" and "b" with lengths "la" and "lb" using the control in "imm8", and store the generated index in "dst".
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF i == la
			aInvalid := 1
		FI
		IF j == lb
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF i &gt;= lb // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
IF imm8[6] // most significant bit
	tmp := UpperBound
	dst := tmp
	DO WHILE ((tmp &gt;= 0) AND a[tmp] == 0)
		tmp := tmp - 1
		dst := tmp
	OD
ELSE // least significant bit
	tmp := 0
	dst := tmp
	DO WHILE ((tmp &lt;= UpperBound) AND a[tmp] == 0)
		tmp := tmp + 1
		dst := tmp
	OD
FI
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPESTRI" xed="PCMPESTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpestrz" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" hint="TRUE" type="__m128i" varname="a" />
	<parameter etype="UI32" hint="TRUE" type="int" varname="la" />
	<parameter etype="M128" hint="TRUE" type="__m128i" varname="b" />
	<parameter etype="UI32" type="int" varname="lb" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings in "a" and "b" with lengths "la" and "lb" using the control in "imm8", and returns 1 if any character in "b" was null, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
dst := (lb &lt;= UpperBound)
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPESTRI" xed="PCMPESTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpestrc" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="UI32" type="int" varname="la" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="UI32" type="int" varname="lb" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings in "a" and "b" with lengths "la" and "lb" using the control in "imm8", and returns 1 if the resulting mask was non-zero, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF i == la
			aInvalid := 1
		FI
		IF j == lb
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF i &gt;= lb // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
dst := (IntRes2 != 0)
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPESTRI" xed="PCMPESTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpestrs" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" hint="TRUE" type="__m128i" varname="a" />
	<parameter etype="UI32" type="int" varname="la" />
	<parameter etype="M128" hint="TRUE" type="__m128i" varname="b" />
	<parameter etype="UI32" hint="TRUE" type="int" varname="lb" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings in "a" and "b" with lengths "la" and "lb" using the control in "imm8", and returns 1 if any character in "a" was null, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
dst := (la &lt;= UpperBound)
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPESTRI" xed="PCMPESTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpestro" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="UI32" type="int" varname="la" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="UI32" type="int" varname="lb" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings in "a" and "b" with lengths "la" and "lb" using the control in "imm8", and returns bit 0 of the resulting bit mask.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF i == la
			aInvalid := 1
		FI
		IF j == lb
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF i &gt;= lb // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
dst := IntRes2[0]
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPESTRI" xed="PCMPESTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpestra" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="int" varname="dst" />
	<parameter etype="M128" type="__m128i" varname="a" />
	<parameter etype="UI32" type="int" varname="la" />
	<parameter etype="M128" type="__m128i" varname="b" />
	<parameter etype="UI32" type="int" varname="lb" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="imm8" />
	<description>Compare packed strings in "a" and "b" with lengths "la" and "lb" using the control in "imm8", and returns 1 if "b" did not contain a null character and the resulting mask was zero, and 0 otherwise.
	[strcmp_note]</description>
	<operation>
size := (imm8[0] ? 16 : 8) // 8 or 16-bit characters
UpperBound := (128 / size) - 1
BoolRes := 0
// compare all characters
aInvalid := 0
bInvalid := 0
FOR i := 0 to UpperBound
	m := i*size
	FOR j := 0 to UpperBound
		n := j*size
		BoolRes.word[i].bit[j] := (a[m+size-1:m] == b[n+size-1:n]) ? 1 : 0
		
		// invalidate characters after EOS
		IF i == la
			aInvalid := 1
		FI
		IF j == lb
			bInvalid := 1
		FI
		
		// override comparisons for invalid characters
		CASE (imm8[3:2]) OF
		0:  // equal any
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		1:  // ranges
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			FI
		2:  // equal each
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		3:  // equal ordered
			IF (!aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 0
			ELSE IF (aInvalid &amp;&amp; !bInvalid)
				BoolRes.word[i].bit[j] := 1
			ELSE IF (aInvalid &amp;&amp; bInvalid)
				BoolRes.word[i].bit[j] := 1
			FI
		ESAC
	ENDFOR
ENDFOR
// aggregate results
CASE (imm8[3:2]) OF
0:  // equal any
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR BoolRes.word[i].bit[j]
		ENDFOR
	ENDFOR
1:  // ranges
	IntRes1 := 0
	FOR i := 0 to UpperBound
		FOR j := 0 to UpperBound
			IntRes1[i] := IntRes1[i] OR (BoolRes.word[i].bit[j] AND BoolRes.word[i].bit[j+1])
			j += 2
		ENDFOR
	ENDFOR
2:  // equal each
	IntRes1 := 0
	FOR i := 0 to UpperBound
		IntRes1[i] := BoolRes.word[i].bit[i]
	ENDFOR
3:  // equal ordered
	IntRes1 := (imm8[0] ? 0xFF : 0xFFFF)
	FOR i := 0 to UpperBound
		k := i
		FOR j := 0 to UpperBound-i
			IntRes1[i] := IntRes1[i] AND BoolRes.word[k].bit[j]
			k := k+1
		ENDFOR
	ENDFOR
ESAC
// optionally negate results
FOR i := 0 to UpperBound
	IF imm8[4]
		IF imm8[5] // only negate valid
			IF i &gt;= lb // invalid, don't negate
				IntRes2[i] := IntRes1[i]
			ELSE // valid, negate
				IntRes2[i] := -1 XOR IntRes1[i]
			FI
		ELSE // negate all
			IntRes2[i] := -1 XOR IntRes1[i]
		FI
	ELSE // don't negate
		IntRes2[i] := IntRes1[i]
	FI
ENDFOR
// output
dst := (IntRes2 == 0) AND (lb &gt; UpperBound)
	</operation>
	<instruction form="xmm, xmm, imm8" name="PCMPESTRI" xed="PCMPESTRI_XMMdq_XMMdq_IMMb" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>String Compare</category>
	</intrinsic>
	<intrinsic name="_mm_cmpgt_epi64" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI64" type="__m128i" varname="dst" />
	<parameter etype="SI64" type="__m128i" varname="a" />
	<parameter etype="SI64" type="__m128i" varname="b" />
	<description>Compare packed signed 64-bit integers in "a" and "b" for greater-than, and store the results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*64
	dst[i+63:i] := ( a[i+63:i] &gt; b[i+63:i] ) ? 0xFFFFFFFFFFFFFFFF : 0
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PCMPGTQ" xed="PCMPGTQ_XMMdq_XMMdq" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>Compare</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u8" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="crc" />
	<parameter etype="UI8" type="unsigned char" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 8-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[7:0] := v[0:7] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[39:0] := tmp1[7:0] &lt;&lt; 32 
tmp4[39:0] := tmp2[31:0] &lt;&lt; 8
tmp5[39:0] := tmp3[39:0] XOR tmp4[39:0]
tmp6[31:0] := MOD2(tmp5[39:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r32, r8" name="CRC32" xed="CRC32_GPRyy_GPR8b" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u16" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="crc" />
	<parameter etype="UI16" type="unsigned short" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 16-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[15:0] := v[0:15] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[47:0] := tmp1[15:0] &lt;&lt; 32
tmp4[47:0] := tmp2[31:0] &lt;&lt; 16
tmp5[47:0] := tmp3[47:0] XOR tmp4[47:0]
tmp6[31:0] := MOD2(tmp5[47:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r32, r16" name="CRC32" xed="CRC32_GPRyy_GPRv" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u32" tech="SSE_ALL">
	<return etype="UI32" type="unsigned int" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="crc" />
	<parameter etype="UI32" type="unsigned int" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 32-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[31:0] := v[0:31] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[63:0] := tmp1[31:0] &lt;&lt; 32
tmp4[63:0] := tmp2[31:0] &lt;&lt; 32
tmp5[63:0] := tmp3[63:0] XOR tmp4[63:0]
tmp6[31:0] := MOD2(tmp5[63:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r32, r32" name="CRC32" xed="CRC32_GPRyy_GPRv" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm_crc32_u64" tech="SSE_ALL">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI64" type="unsigned __int64" varname="crc" />
	<parameter etype="UI64" type="unsigned __int64" varname="v" />
	<description>Starting with the initial value in "crc", accumulates a CRC32 value for unsigned 64-bit integer "v", and stores the result in "dst".</description>
	<operation>tmp1[63:0] := v[0:63] // bit reflection
tmp2[31:0] := crc[0:31] // bit reflection
tmp3[95:0] := tmp1[31:0] &lt;&lt; 32
tmp4[95:0] := tmp2[63:0] &lt;&lt; 64
tmp5[95:0] := tmp3[95:0] XOR tmp4[95:0]
tmp6[31:0] := MOD2(tmp5[95:0], 0x11EDC6F41) // remainder from polynomial division modulus 2
dst[31:0] := tmp6[0:31] // bit reflection
	</operation>
	<instruction form="r64, r64" name="CRC32" xed="CRC32_GPRyy_GPRv" />
	<CPUID>SSE4.2</CPUID>
	<header>nmmintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	
	
<intrinsic name="_mm_abs_pi8" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="SI8" type="__m64" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	dst[i+7:i] := ABS(Int(a[i+7:i]))
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PABSB" xed="PABSB_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_abs_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 8-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	dst[i+7:i] := ABS(a[i+7:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PABSB" xed="PABSB_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_abs_pi16" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := ABS(Int(a[i+15:i]))
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PABSW" xed="PABSW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_abs_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 16-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := ABS(a[i+15:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PABSW" xed="PABSW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_abs_pi32" tech="SSE_ALL">
	<return etype="UI32" type="__m64" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	dst[i+31:i] := ABS(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PABSD" xed="PABSD_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_abs_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<description>Compute the absolute value of packed signed 32-bit integers in "a", and store the unsigned results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	dst[i+31:i] := ABS(a[i+31:i])
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PABSD" xed="PABSD_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Special Math Functions</category>
	</intrinsic>
	<intrinsic name="_mm_shuffle_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF b[i+7] == 1
		dst[i+7:i] := 0
	ELSE
		index[3:0] := b[i+3:i]
		dst[i+7:i] := a[index*8+7:index*8]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSHUFB" xed="PSHUFB_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_shuffle_pi8" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<description>Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	IF b[i+7] == 1
		dst[i+7:i] := 0
	ELSE
		index[2:0] := b[i+2:i]
		dst[i+7:i] := a[index*8+7:index*8]
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSHUFB" xed="PSHUFB_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Swizzle</category>
	</intrinsic>
	<intrinsic name="_mm_alignr_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="UI8" type="__m128i" varname="b" />
	<parameter etype="IMM" immwidth="5" type="int" varname="imm8" />
	<description>Concatenate 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst".</description>
	<operation>
tmp[255:0] := ((a[127:0] &lt;&lt; 128)[255:0] OR b[127:0]) &gt;&gt; (imm8*8)
dst[127:0] := tmp[127:0]
	</operation>
	<instruction form="xmm, xmm, imm8" name="PALIGNR" xed="PALIGNR_XMMdq_XMMdq_IMMb" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_alignr_pi8" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="UI8" type="__m64" varname="b" />
	<parameter etype="IMM" immwidth="4" type="int" varname="imm8" />
	<description>Concatenate 8-byte blocks in "a" and "b" into a 16-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst".</description>
	<operation>
tmp[127:0] := ((a[63:0] &lt;&lt; 64)[127:0] OR b[63:0]) &gt;&gt; (imm8*8)
dst[63:0] := tmp[63:0]
	</operation>
	<instruction form="mm, mm, imm8" name="PALIGNR" xed="PALIGNR_MMXq_MMXq_IMMb" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_mm_hadd_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Horizontally add adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := a[31:16] + a[15:0]
dst[31:16] := a[63:48] + a[47:32]
dst[47:32] := a[95:80] + a[79:64]
dst[63:48] := a[127:112] + a[111:96]
dst[79:64] := b[31:16] + b[15:0]
dst[95:80] := b[63:48] + b[47:32]
dst[111:96] := b[95:80] + b[79:64]
dst[127:112] := b[127:112] + b[111:96]
	</operation>
	<instruction form="xmm, xmm" name="PHADDW" xed="PHADDW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hadds_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Horizontally add adjacent pairs of signed 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:16] + a[15:0])
dst[31:16] := Saturate16(a[63:48] + a[47:32])
dst[47:32] := Saturate16(a[95:80] + a[79:64])
dst[63:48] := Saturate16(a[127:112] + a[111:96])
dst[79:64] := Saturate16(b[31:16] + b[15:0])
dst[95:80] := Saturate16(b[63:48] + b[47:32])
dst[111:96] := Saturate16(b[95:80] + b[79:64])
dst[127:112] := Saturate16(b[127:112] + b[111:96])
	</operation>
	<instruction form="xmm, xmm" name="PHADDSW" xed="PHADDSW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hadd_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Horizontally add adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] + a[31:0]
dst[63:32] := a[127:96] + a[95:64]
dst[95:64] := b[63:32] + b[31:0]
dst[127:96] := b[127:96] + b[95:64]
	</operation>
	<instruction form="xmm, xmm" name="PHADDD" xed="PHADDD_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hadd_pi16" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Horizontally add adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := a[31:16] + a[15:0]
dst[31:16] := a[63:48] + a[47:32]
dst[47:32] := b[31:16] + b[15:0]
dst[63:48] := b[63:48] + b[47:32]
	</operation>
	<instruction form="mm, mm" name="PHADDW" xed="PHADDW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hadd_pi32" tech="SSE_ALL">
	<return etype="SI32" type="__m64" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Horizontally add adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".</description>
	<operation>
dst[31:0] := a[63:32] + a[31:0]
dst[63:32] := b[63:32] + b[31:0]
	</operation>
	<instruction form="mm, mm" name="PHADDW" xed="PHADDW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hadds_pi16" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Horizontally add adjacent pairs of signed 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[31:16] + a[15:0])
dst[31:16] := Saturate16(a[63:48] + a[47:32])
dst[47:32] := Saturate16(b[31:16] + b[15:0])
dst[63:48] := Saturate16(b[63:48] + b[47:32])
	</operation>
	<instruction form="mm, mm" name="PHADDSW" xed="PHADDSW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsub_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Horizontally subtract adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := a[15:0] - a[31:16]
dst[31:16] := a[47:32] - a[63:48]
dst[47:32] := a[79:64] - a[95:80]
dst[63:48] := a[111:96] - a[127:112]
dst[79:64] := b[15:0] - b[31:16]
dst[95:80] := b[47:32] - b[63:48]
dst[111:96] := b[79:64] - b[95:80]
dst[127:112] := b[111:96] - b[127:112]
	</operation>
	<instruction form="xmm, xmm" name="PHSUBW" xed="PHSUBW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsubs_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Horizontally subtract adjacent pairs of signed 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[15:0] - a[31:16])
dst[31:16] := Saturate16(a[47:32] - a[63:48])
dst[47:32] := Saturate16(a[79:64] - a[95:80])
dst[63:48] := Saturate16(a[111:96] - a[127:112])
dst[79:64] := Saturate16(b[15:0] - b[31:16])
dst[95:80] := Saturate16(b[47:32] - b[63:48])
dst[111:96] := Saturate16(b[79:64] - b[95:80])
dst[127:112] := Saturate16(b[111:96] - b[127:112])
	</operation>
	<instruction form="xmm, xmm" name="PHSUBSW" xed="PHSUBSW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsub_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Horizontally subtract adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] - a[63:32]
dst[63:32] := a[95:64] - a[127:96]
dst[95:64] := b[31:0] - b[63:32]
dst[127:96] := b[95:64] - b[127:96]
	</operation>
	<instruction form="xmm, xmm" name="PHSUBD" xed="PHSUBD_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsub_pi16" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Horizontally subtract adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := a[15:0] - a[31:16]
dst[31:16] := a[47:32] - a[63:48]
dst[47:32] := b[15:0] - b[31:16]
dst[63:48] := b[47:32] - b[63:48]
	</operation>
	<instruction form="mm, mm" name="PHSUBW" xed="PHSUBW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsub_pi32" tech="SSE_ALL">
	<return etype="SI32" type="__m64" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Horizontally subtract adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".</description>
	<operation>
dst[31:0] := a[31:0] - a[63:32]
dst[63:32] := b[31:0] - b[63:32]
	</operation>
	<instruction form="mm, mm" name="PHSUBD" xed="PHSUBD_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_hsubs_pi16" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Horizontally subtract adjacent pairs of signed 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".</description>
	<operation>
dst[15:0] := Saturate16(a[15:0] - a[31:16])
dst[31:16] := Saturate16(a[47:32] - a[63:48])
dst[47:32] := Saturate16(b[15:0] - b[31:16])
dst[63:48] := Saturate16(b[47:32] - b[63:48])
	</operation>
	<instruction form="mm, mm" name="PHSUBSW" xed="PHSUBSW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maddubs_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="SI16" type="__m128i" varname="dst" />
	<parameter etype="UI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Vertically multiply each unsigned 8-bit integer from "a" with the corresponding signed 8-bit integer from "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMADDUBSW" xed="PMADDUBSW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_maddubs_pi16" tech="SSE_ALL">
	<return etype="SI16" type="__m64" varname="dst" />
	<parameter etype="UI8" type="__m64" varname="a" />
	<parameter etype="SI8" type="__m64" varname="b" />
	<description>Vertically multiply each unsigned 8-bit integer from "a" with the corresponding signed 8-bit integer from "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	dst[i+15:i] := Saturate16( a[i+15:i+8]*b[i+15:i+8] + a[i+7:i]*b[i+7:i] )
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMADDUBSW" xed="PMADDUBSW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mulhrs_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst".</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
	dst[i+15:i] := tmp[16:1]
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PMULHRSW" xed="PMULHRSW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_mulhrs_pi16" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Multiply packed signed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst".</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	tmp[31:0] := ((SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])) &gt;&gt; 14) + 1
	dst[i+15:i] := tmp[16:1]
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PMULHRSW" xed="PMULHRSW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sign_epi8" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI8" type="__m128i" varname="dst" />
	<parameter etype="SI8" type="__m128i" varname="a" />
	<parameter etype="SI8" type="__m128i" varname="b" />
	<description>Negate packed 8-bit integers in "a" when the corresponding signed 8-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 15
	i := j*8
	IF b[i+7:i] &lt; 0
		dst[i+7:i] := -(a[i+7:i])
	ELSE IF b[i+7:i] == 0
		dst[i+7:i] := 0
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSIGNB" xed="PSIGNB_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sign_epi16" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI16" type="__m128i" varname="dst" />
	<parameter etype="SI16" type="__m128i" varname="a" />
	<parameter etype="SI16" type="__m128i" varname="b" />
	<description>Negate packed 16-bit integers in "a" when the corresponding signed 16-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*16
	IF b[i+15:i] &lt; 0
		dst[i+15:i] := -(a[i+15:i])
	ELSE IF b[i+15:i] == 0
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSIGNW" xed="PSIGNW_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sign_epi32" vexEq="TRUE" tech="SSE_ALL">
	<return etype="UI32" type="__m128i" varname="dst" />
	<parameter etype="SI32" type="__m128i" varname="a" />
	<parameter etype="SI32" type="__m128i" varname="b" />
	<description>Negate packed 32-bit integers in "a" when the corresponding signed 32-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*32
	IF b[i+31:i] &lt; 0
		dst[i+31:i] := -(a[i+31:i])
	ELSE IF b[i+31:i] == 0
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="xmm, xmm" name="PSIGND" xed="PSIGND_XMMdq_XMMdq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sign_pi8" tech="SSE_ALL">
	<return etype="UI8" type="__m64" varname="dst" />
	<parameter etype="SI8" type="__m64" varname="a" />
	<parameter etype="SI8" type="__m64" varname="b" />
	<description>Negate packed 8-bit integers in "a" when the corresponding signed 8-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 7
	i := j*8
	IF b[i+7:i] &lt; 0
		dst[i+7:i] := -(a[i+7:i])
	ELSE IF b[i+7:i] == 0
		dst[i+7:i] := 0
	ELSE
		dst[i+7:i] := a[i+7:i]
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSIGNB" xed="PSIGNB_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sign_pi16" tech="SSE_ALL">
	<return etype="UI16" type="__m64" varname="dst" />
	<parameter etype="SI16" type="__m64" varname="a" />
	<parameter etype="SI16" type="__m64" varname="b" />
	<description>Negate packed 16-bit integers in "a" when the corresponding signed 16-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 3
	i := j*16
	IF b[i+15:i] &lt; 0
		dst[i+15:i] := -(a[i+15:i])
	ELSE IF b[i+15:i] == 0
		dst[i+15:i] := 0
	ELSE
		dst[i+15:i] := a[i+15:i]
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSIGNW" xed="PSIGNW_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	<intrinsic name="_mm_sign_pi32" tech="SSE_ALL">
	<return etype="UI32" type="__m64" varname="dst" />
	<parameter etype="SI32" type="__m64" varname="a" />
	<parameter etype="SI32" type="__m64" varname="b" />
	<description>Negate packed 32-bit integers in "a" when the corresponding signed 32-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.</description>
	<operation>
FOR j := 0 to 1
	i := j*32
	IF b[i+31:i] &lt; 0
		dst[i+31:i] := -(a[i+31:i])
	ELSE IF b[i+31:i] == 0
		dst[i+31:i] := 0
	ELSE
		dst[i+31:i] := a[i+31:i]
	FI
ENDFOR
	</operation>
	<instruction form="mm, mm" name="PSIGND" xed="PSIGND_MMXq_MMXq" />
	<CPUID>SSSE3</CPUID>
	<header>tmmintrin.h</header>
	<category>Arithmetic</category>
	</intrinsic>
	
	
<intrinsic name="_rdtsc" tech="Other">
	<return etype="UI64" type="__int64" varname="dst" />
	<parameter type="void" />
	<description>Copy the current 64-bit value of the processor's time-stamp counter into "dst".</description>
	<operation>dst[63:0] := TimeStampCounter
	</operation>
	<instruction name="RDTSC" xed="RDTSC" />
	<CPUID>TSC</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
	
<intrinsic name="_xsusldtrk" tech="Other">
	<return type="void" />
	<description>Mark the start of a TSX (HLE/RTM) suspend load address tracking region. If this is used inside a transactional region, subsequent loads are not added to the read set of the transaction. If this is used inside a suspend load address tracking region it will cause transaction abort. If this is used outside of a transactional region it behaves like a NOP.</description>
	<instruction name="XSUSLDTRK" xed="XSUSLDTRK" />
	<CPUID>TSXLDTRK</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_xresldtrk" tech="Other">
	<return type="void" />
	<description>Mark the end of a TSX (HLE/RTM) suspend load address tracking region. If this is used inside a suspend load address tracking region it will end the suspend region and all following load addresses will be added to the transaction read set. If this is used inside an active transaction but not in a suspend region it will cause transaction abort. If this is used outside of a transactional region it behaves like a NOP.</description>
	<instruction name="XRESLDTRK" xed="XRESLDTRK" />
	<CPUID>TSXLDTRK</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
	
<intrinsic name="_clui" tech="Other">
		<return type="void" />
		<parameter type="void" />
		<description>Clear the user interrupt flag (UIF).</description>
		<instruction name="CLUI" xed="CLUI" />
	<CPUID>UINTR</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_senduipi" tech="Other">
		<return type="void" />
		<parameter type="unsigned __int64" varname="__a" etype="UI64" />
		<description>Send user interprocessor interrupts specified in unsigned 64-bit integer "__a".</description>
		<instruction name="SENDUIPI" form="r32" xed="SENDUIPI_GPR32u32" />
	<CPUID>UINTR</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_stui" tech="Other">
		<return type="void" />
		<parameter type="void" />
		<description>Sets the user interrupt flag (UIF).</description>
		<instruction name="STUI" xed="STUI" />
	<CPUID>UINTR</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	<intrinsic name="_testui" tech="Other">
		<return type="unsigned char" varname="dst" etype="UI8" />
		<parameter type="void" />
		<description>Store the current user interrupt flag (UIF) in unsigned 8-bit integer "dst".</description>
		<instruction name="TESTUI" xed="TESTUI" />
	<CPUID>UINTR</CPUID>
	<header>immintrin.h</header>
	<category>General Support</category>
	</intrinsic>
	
<intrinsic name="_urdmsr" tech="Other">
	<return type="unsigned __int64" etype="UI64"/>
	<parameter type="unsigned __int64" varname="__A" etype="UI64" />
	<description>Reads the contents of a 64-bit MSR specified in "__A" into "dst".</description>
	<operation>DEST := MSR[__A]
	</operation>
	<instruction name="URDMSR" form="r64 r64" xed="URDMSR_GPR64u64_GPR64u64" />
	<CPUID>USER_MSR</CPUID>
	<header>x86gprintrin.h</header>
	<category>General Support</category>
</intrinsic>
<intrinsic name="_uwrmsr" tech="Other">
	<return type="void"/>
	<parameter type="unsigned __int64" varname="__A" etype="UI64" />
	<parameter type="unsigned __int64" varname="__B" etype="UI64" />
	<description>Writes the contents of "__B" into the 64-bit MSR specified in "__A".</description>
	<operation>MSR[__A] := __B
	</operation>
	<instruction name="UWRMSR" form="r64 r64" xed="UWRMSR_GPR64u64_GPR64u64" />
	<CPUID>USER_MSR</CPUID>
	<header>x86gprintrin.h</header>
	<category>General Support</category>
</intrinsic>
<intrinsic name="_mm256_aesenclast_epi128" tech="Other">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="M128" type="__m256i" varname="RoundKey" />
	<description>Perform the last round of an AES encryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst"."</description>
	<operation>FOR j := 0 to 1
	i := j*128
	a[i+127:i] := ShiftRows(a[i+127:i])
	a[i+127:i] := SubBytes(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VAESENCLAST" xed="VAESENCLAST_YMMu128_YMMu128_YMMu128" />
	<CPUID>VAES</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm256_aesenc_epi128" tech="Other">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="M128" type="__m256i" varname="RoundKey" />
	<description>Perform one round of an AES encryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst"."</description>
	<operation>FOR j := 0 to 1
	i := j*128
	a[i+127:i] := ShiftRows(a[i+127:i])
	a[i+127:i] := SubBytes(a[i+127:i])
	a[i+127:i] := MixColumns(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VAESENC" xed="VAESENC_YMMu128_YMMu128_YMMu128" />
	<CPUID>VAES</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm256_aesdeclast_epi128" tech="Other">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="M128" type="__m256i" varname="RoundKey" />
	<description>Perform the last round of an AES decryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*128
	a[i+127:i] := InvShiftRows(a[i+127:i])
	a[i+127:i] := InvSubBytes(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VAESDECLAST" xed="VAESDECLAST_YMMu128_YMMu128_YMMu128" />
	<CPUID>VAES</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	<intrinsic name="_mm256_aesdec_epi128" tech="Other">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="a" />
	<parameter etype="M128" type="__m256i" varname="RoundKey" />
	<description>Perform one round of an AES decryption flow on data (state) in "a" using the round key in "RoundKey", and store the results in "dst".</description>
	<operation>FOR j := 0 to 1
	i := j*128
	a[i+127:i] := InvShiftRows(a[i+127:i])
	a[i+127:i] := InvSubBytes(a[i+127:i])
	a[i+127:i] := InvMixColumns(a[i+127:i])
	dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm" name="VAESDEC" xed="VAESDEC_YMMu128_YMMu128_YMMu128" />
	<CPUID>VAES</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Cryptography</category>
	</intrinsic>
	
	
<intrinsic name="_mm256_clmulepi64_epi128" tech="Other">
	<return etype="M128" type="__m256i" varname="dst" />
	<parameter etype="M128" type="__m256i" varname="b" />
	<parameter etype="M128" type="__m256i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="Imm8" />
	<description>Carry-less multiplication of one quadword of
		'b' by one quadword of 'c', stores
		the 128-bit result in 'dst'. The immediate 'Imm8' is
		used to determine which quadwords of 'b'
		and 'c' should be used.</description>
	<operation>
DEFINE PCLMUL128(X,Y) {
	FOR i := 0 to 63
		TMP[i] := X[ 0 ] and Y[ i ]
		FOR j := 1 to i
			TMP[i] := TMP[i] xor (X[ j ] and Y[ i - j ])
		ENDFOR
		DEST[ i ] := TMP[ i ]
	ENDFOR
	FOR i := 64 to 126
		TMP[i] := 0
		FOR j := i - 63 to 63
			TMP[i] := TMP[i] xor (X[ j ] and Y[ i - j ])
		ENDFOR
		DEST[ i ] := TMP[ i ]
	ENDFOR
	DEST[127] := 0
	RETURN DEST // 128b vector
}
FOR i := 0 to 1
	IF Imm8[0] == 0
		TEMP1 := b.m128[i].qword[0]
	ELSE
		TEMP1 := b.m128[i].qword[1]
	FI
	IF Imm8[4] == 0
		TEMP2 := c.m128[i].qword[0]
	ELSE
		TEMP2 := c.m128[i].qword[1]
	FI
	dst.m128[i] := PCLMUL128(TEMP1, TEMP2)
ENDFOR
dst[MAX:256] := 0
	</operation>
	<instruction form="ymm, ymm, ymm, imm8" name="VPCLMULQDQ" xed="VPCLMULQDQ_YMMu128_YMMu64_YMMu64_IMM8_AVX512" />
	<CPUID>VPCLMULQDQ</CPUID>
	<CPUID>AVX512VL</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_mm512_clmulepi64_epi128" tech="Other">
	<return etype="M128" type="__m512i" varname="dst" />
	<parameter etype="M128" type="__m512i" varname="b" />
	<parameter etype="M128" type="__m512i" varname="c" />
	<parameter etype="IMM" immwidth="8" type="const int" varname="Imm8" />
	<description>Carry-less multiplication of one quadword of
		'b' by one quadword of 'c', stores
		the 128-bit result in 'dst'. The immediate 'Imm8' is
		used to determine which quadwords of 'b'
		and 'c' should be used.</description>
	<operation>
DEFINE PCLMUL128(X,Y) {
	FOR i := 0 to 63
		TMP[i] := X[ 0 ] and Y[ i ]
		FOR j := 1 to i
			TMP[i] := TMP[i] xor (X[ j ] and Y[ i - j ])
		ENDFOR
		DEST[ i ] := TMP[ i ]
	ENDFOR
	FOR i := 64 to 126
		TMP[i] := 0
		FOR j := i - 63 to 63
			TMP[i] := TMP[i] xor (X[ j ] and Y[ i - j ])
		ENDFOR
		DEST[ i ] := TMP[ i ]
	ENDFOR
	DEST[127] := 0
	RETURN DEST // 128b vector
}
FOR i := 0 to 3
	IF Imm8[0] == 0
		TEMP1 := b.m128[i].qword[0]
	ELSE
		TEMP1 := b.m128[i].qword[1]
	FI
	IF Imm8[4] == 0
		TEMP2 := c.m128[i].qword[0]
	ELSE
		TEMP2 := c.m128[i].qword[1]
	FI
	dst.m128[i] := PCLMUL128(TEMP1, TEMP2)
ENDFOR
dst[MAX:512] := 0
	</operation>
	<instruction form="zmm, zmm, zmm, imm8" name="VPCLMULQDQ" xed="VPCLMULQDQ_ZMMu128_ZMMu64_ZMMu64_IMM8_AVX512" />
	<CPUID>VPCLMULQDQ</CPUID>
	<header>immintrin.h</header>
	<category>Application-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_tpause" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="ctrl" />
	<parameter etype="UI64" type="unsigned __int64" varname="counter" />
	<description>Directs the processor to enter an implementation-dependent optimized state until the TSC reaches or exceeds the value specified in "counter". Bit 0 of "ctrl" selects between a lower power (cleared) or faster wakeup (set) optimized state. Returns the carry flag (CF). If the processor that executed a UMWAIT instruction wakes due to the expiration of the operating system timelimit, the instructions sets RFLAGS.CF; otherwise, that flag is cleared.</description>
	<instruction form="r32" name="TPAUSE" xed="TPAUSE_GPR32u32" />
	<CPUID>WAITPKG</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_umwait" tech="Other">
	<return etype="UI8" type="unsigned char" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="ctrl" />
	<parameter etype="UI64" type="unsigned __int64" varname="counter" />
	<description>Directs the processor to enter an implementation-dependent optimized state while monitoring a range of addresses. The instruction wakes up when the TSC reaches or exceeds the value specified in "counter" (if the monitoring hardware did not trigger beforehand). Bit 0 of "ctrl" selects between a lower power (cleared) or faster wakeup (set) optimized state. Returns the carry flag (CF). If the processor that executed a UMWAIT instruction wakes due to the expiration of the operating system timelimit, the instructions sets RFLAGS.CF; otherwise, that flag is cleared.</description>
	<instruction form="r32" name="UMWAIT" xed="UMWAIT_GPR32" />
	<CPUID>WAITPKG</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	<intrinsic name="_umonitor" tech="Other">
	<return type="void" />
	<parameter type="void*" varname="a" />
	<description>Sets up a linear address range to be
		monitored by hardware and activates the
		monitor. The address range should be a writeback
		memory caching type. The address is
		contained in "a".</description>
	<instruction form="r16/r32/r64" name="UMONITOR" xed="UMONITOR_GPRa" />
	<CPUID>WAITPKG</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
	
<intrinsic name="_wbnoinvd" tech="Other">
	<return type="void" />
	<parameter type="void" />
	<description>Write back and do not flush internal caches.
		Initiate writing-back without flushing of external
		caches.</description>
	<instruction name="WBNOINVD" xed="WBNOINVD" />
	<CPUID>WBNOINVD</CPUID>
	<header>immintrin.h</header>
	<category>Miscellaneous</category>
	</intrinsic>
	
	
<intrinsic name="_xsavec" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr"; xsavec differs from xsave in that it uses compaction and that it may use init optimization. State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVEC" xed="XSAVEC_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSAVEC</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xsavec64" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr"; xsavec differs from xsave in that it uses compaction and that it may use init optimization. State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVEC64" xed="XSAVEC64_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSAVEC</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_xsaveopt" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr". State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary. The hardware may optimize the manner in which data is saved. The performance of this instruction will be equal to or better than using the XSAVE instruction.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		2: mem_addr.EXT_SAVE_Area2[YMM] := ProcessorState[YMM]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVEOPT" xed="XSAVEOPT_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSAVEOPT</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xsaveopt64" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr". State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary. The hardware may optimize the manner in which data is saved. The performance of this instruction will be equal to or better than using the XSAVE64 instruction.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		2: mem_addr.EXT_SAVE_Area2[YMM] := ProcessorState[YMM]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVEOPT64" xed="XSAVEOPT64_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSAVEOPT</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_xsaves" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr"; xsaves differs from xsave in that it can save state components corresponding to bits set in IA32_XSS MSR and that it may use the modified optimization. State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVES" xed="XSAVES_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSS</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xsaves64" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr"; xsaves differs from xsave in that it can save state components corresponding to bits set in IA32_XSS MSR and that it may use the modified optimization. State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVEC64" xed="XSAVEC64_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSS</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xrstors" tech="Other">
	<return type="void" />
	<parameter type="const void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="rs_mask" />
	<description>Perform a full or partial restore of the enabled processor states using the state information stored in memory at "mem_addr". xrstors differs from xrstor in that it can restore state components corresponding to bits set in the IA32_XSS MSR; xrstors cannot restore from an xsave area in which the extended region is in the standard form. State is restored based on bits [62:0] in "rs_mask", "XCR0", and "mem_addr.HEADER.XSTATE_BV". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>st_mask := mem_addr.HEADER.XSTATE_BV[62:0]
FOR i := 0 to 62
	IF (rs_mask[i] AND XCR0[i])
		IF st_mask[i]
			CASE (i) OF
			0: ProcessorState[x87_FPU] := mem_addr.FPUSSESave_Area[FPU]
			1: ProcessorState[SSE] := mem_addr.FPUSSESaveArea[SSE]
			DEFAULT: ProcessorState[i] := mem_addr.Ext_Save_Area[i]
			ESAC
		ELSE
			// ProcessorExtendedState := Processor Supplied Values
			CASE (i) OF
			1: MXCSR := mem_addr.FPUSSESave_Area[SSE]
			ESAC
		FI
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XRSTORS" xed="XRSTORS_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSS</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xrstors64" tech="Other">
	<return type="void" />
	<parameter type="const void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="rs_mask" />
	<description>Perform a full or partial restore of the enabled processor states using the state information stored in memory at "mem_addr". xrstors differs from xrstor in that it can restore state components corresponding to bits set in the IA32_XSS MSR; xrstors cannot restore from an xsave area in which the extended region is in the standard form. State is restored based on bits [62:0] in "rs_mask", "XCR0", and "mem_addr.HEADER.XSTATE_BV". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>st_mask := mem_addr.HEADER.XSTATE_BV[62:0]
FOR i := 0 to 62
	IF (rs_mask[i] AND XCR0[i])
		IF st_mask[i]
			CASE (i) OF
			0: ProcessorState[x87_FPU] := mem_addr.FPUSSESave_Area[FPU]
			1: ProcessorState[SSE] := mem_addr.FPUSSESaveArea[SSE]
			DEFAULT: ProcessorState[i] := mem_addr.Ext_Save_Area[i]
			ESAC
		ELSE
			// ProcessorExtendedState := Processor Supplied Values
			CASE (i) OF
			1: MXCSR := mem_addr.FPUSSESave_Area[SSE]
			ESAC
		FI
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XRSTORS64" xed="XRSTORS64_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<CPUID>XSS</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	
	
<intrinsic name="_xgetbv" tech="Other">
	<return etype="UI64" type="unsigned __int64" varname="dst" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<description>Copy up to 64-bits from the value of the extended control register (XCR) specified by "a" into "dst". Currently only XFEATURE_ENABLED_MASK XCR is supported.</description>
	<operation>dst[63:0] := XCR[a]
	</operation>
	<instruction name="XGETBV" xed="XGETBV" />
	<CPUID>XSAVE</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xrstor" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="rs_mask" />
	<description>Perform a full or partial restore of the enabled processor states using the state information stored in memory at "mem_addr". State is restored based on bits [62:0] in "rs_mask", "XCR0", and "mem_addr.HEADER.XSTATE_BV". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>st_mask := mem_addr.HEADER.XSTATE_BV[62:0]
FOR i := 0 to 62
	IF (rs_mask[i] AND XCR0[i])
		IF st_mask[i]
			CASE (i) OF
			0: ProcessorState[x87_FPU] := mem_addr.FPUSSESave_Area[FPU]
			1: ProcessorState[SSE] := mem_addr.FPUSSESaveArea[SSE]
			DEFAULT: ProcessorState[i] := mem_addr.Ext_Save_Area[i]
			ESAC
		ELSE
			// ProcessorExtendedState := Processor Supplied Values
			CASE (i) OF
			1: MXCSR := mem_addr.FPUSSESave_Area[SSE]
			ESAC
		FI
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XRSTOR" xed="XRSTOR_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xrstor64" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="rs_mask" />
	<description>Perform a full or partial restore of the enabled processor states using the state information stored in memory at "mem_addr". State is restored based on bits [62:0] in "rs_mask", "XCR0", and "mem_addr.HEADER.XSTATE_BV". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>st_mask := mem_addr.HEADER.XSTATE_BV[62:0]
FOR i := 0 to 62
	IF (rs_mask[i] AND XCR0[i])
		IF st_mask[i]
			CASE (i) OF
			0: ProcessorState[x87_FPU] := mem_addr.FPUSSESave_Area[FPU]
			1: ProcessorState[SSE] := mem_addr.FPUSSESaveArea[SSE]
			DEFAULT: ProcessorState[i] := mem_addr.Ext_Save_Area[i]
			ESAC
		ELSE
			// ProcessorExtendedState := Processor Supplied Values
			CASE (i) OF
			1: MXCSR := mem_addr.FPUSSESave_Area[SSE]
			ESAC
		FI
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XRSTOR64" xed="XRSTOR64_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xsave" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr". State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVE" xed="XSAVE_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xsave64" tech="Other">
	<return type="void" />
	<parameter type="void *" varname="mem_addr" />
	<parameter etype="UI64" type="unsigned __int64" varname="save_mask" />
	<description>Perform a full or partial save of the enabled processor states to memory at "mem_addr". State is saved based on bits [62:0] in "save_mask" and "XCR0". "mem_addr" must be aligned on a 64-byte boundary.</description>
	<operation>mask[62:0] := save_mask[62:0] AND XCR0[62:0]
FOR i := 0 to 62
	IF mask[i]
		CASE (i) OF
		0: mem_addr.FPUSSESave_Area[FPU] := ProcessorState[x87_FPU]
		1: mem_addr.FPUSSESaveArea[SSE] := ProcessorState[SSE]
		DEFAULT: mem_addr.Ext_Save_Area[i] := ProcessorState[i]
		ESAC
		mem_addr.HEADER.XSTATE_BV[i] := INIT_FUNCTION[i]
	FI
	i := i + 1
ENDFOR
	</operation>
	<instruction form="m8" name="XSAVE64" xed="XSAVE64_MEMmxsave" />
	<CPUID>XSAVE</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	<intrinsic name="_xsetbv" tech="Other">
	<return type="void" />
	<parameter etype="UI32" type="unsigned int" varname="a" />
	<parameter etype="UI64" type="unsigned __int64" varname="val" />
	<description>Copy 64-bits from "val" to the extended control register (XCR) specified by "a". Currently only XFEATURE_ENABLED_MASK XCR is supported.</description>
	<operation>
XCR[a] := val[63:0]
	</operation>
	<instruction name="XSETBV" xed="XSETBV" />
	<CPUID>XSAVE</CPUID>
	<header>immintrin.h</header>
	<category>OS-Targeted</category>
	</intrinsic>
	
	
</intrinsics_list>